小程式,多問題。有些是程式重點,有些是不懂得地方,查資料解決的。都一古腦記下來。記號。
1、好端端的中文文本,怎麼讀取出來的是亂碼呢?(對於檔案的讀寫,還要進一步練習。)
//編碼格式不一樣,雙位元組儲存,單位元組讀取便成了亂碼了。
//加上Encoding這個參數就好。
StreamReader sr = new StreamReader(listBox1.Items[i].ToString(), System.Text.Encoding.GetEncoding("GB2312"));
//同樣要建一個新的unicode的文字檔。也只要加上Encoding這個參數就好。
StreamWriter sw = new StreamWriter("E:/" + textBox1.Text + file + ".txt", true,System.Text.Encoding.Unicode);
2、怎樣批量讀取檔案呢?
//只要將openFileDialog的Multiselect屬性設為true就好。
//引用OpenFileDialog的方法
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.Multiselect = true;//多檔案引用
if (openFileDialog1.ShowDialog() == DialogResult.OK)
...{
ArrayList list = new ArrayList();
//所有檔案路徑都存在FileNames中。
foreach (string str in openFileDialog1.FileNames)
...{
list.Add(str);
}
}
3、為什麼中文IME無效呢?
//IME的設定,C#裡面是ImeMode。
//通常ImeMode預設都是no control,基本上控制項裡面都有ImeMode這個屬性,
//要單個控制項控制IME,將控制項的ImeMode屬性改成on就好。
//要整個表單支援,將Form的ImeMode屬性改成on