テキストファイルを書き出したい。
デフォルトの UTF-8 の代わりに、コード ページ 28591 である ISO-8859-1 としてエンコードされたものを書きたいと思います。これを行う方法がわかりません...
次の非常に単純なコードでファイルを書き出しています。
using (StreamWriter sw = File.CreateText(myfilename))
{
sw.WriteLine("my text...");
sw.Close();
}
テキストファイルを書き出したい。
デフォルトの UTF-8 の代わりに、コード ページ 28591 である ISO-8859-1 としてエンコードされたものを書きたいと思います。これを行う方法がわかりません...
次の非常に単純なコードでファイルを書き出しています。
using (StreamWriter sw = File.CreateText(myfilename))
{
sw.WriteLine("my text...");
sw.Close();
}
単純!
System.IO.File.WriteAllText(path, text, Encoding.GetEncoding(28591));
次のように、StreamWriter を FileStream でラップします。
string fileName = "test.txt";
string textToAdd = "Example text in file";
Encoding encoding = Encoding.GetEncoding("ISO-8859-1"); //Or any other Encoding
using (FileStream fs = new FileStream(fileName, FileMode.CreateNew))
{
using (StreamWriter writer = new StreamWriter(fs, encoding))
{
writer.Write(textToAdd);
}
}
ストリーム ライターのエンコーディングを変更します。それは財産です。
http://msdn.microsoft.com/en-us/library/system.io.streamwriter.encoding.aspx
そう:
sw.Encoding = Encoding.GetEncoding(28591);
ストリームに書き込む前。