テキストファイルの書き出しにはStreamWriterクラス (System.IO)を使う。
ファイルが存在すれば上書き
テキストの書き出しにはWriteやWriteLineメソッドを使う。
エラーが発生すると例外がスローされる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
using System.IO; using System.Text; try { StreamWriter writer = new StreamWriter(@"C:\Temp\Test2.txt"); writer.WriteLine("Hello World"); writer.Write("How are you?" + writer.NewLine); writer.Close(); } catch (Exception e) { Console.WriteLine(e.Message); } |
このサンプルのようにエンコーディング指定が無い場合は、デフォルトでUTF-8となる。もしShift JISで書き出したければエンコーディングの指定が必要(後述)。
既存ファイルへの追加書き込み
追加書き込みフラグ付きのコンストラクタを使うと、ファイルが存在する場合に上書きするか、ファイルの末尾に追加するかを指定できる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
using System.IO; using System.Text; try { StreamWriter writer = new StreamWriter(@"C:\Temp\Test2.txt", true/*append*/); writer.WriteLine("Hello World"); writer.Write("How are you?" + writer.NewLine); writer.Close(); } catch (Exception e) { Console.WriteLine(e.Message); } |
Shift JISでの書き出し
UTF-8以外の文字コードで書き出すには、エンコーディングを指定する必要がある。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
using System.IO; using System.Text; try { StreamWriter writer = new StreamWriter(@"C:\Temp\Test2.txt", true/*append*/, Encoding.GetEncoding("Shift_JIS")); writer.WriteLine("Hello World"); writer.Write("How are you?" + writer.NewLine); writer.Close(); } catch (Exception e) { Console.WriteLine(e.Message); } |
参考サイト
StreamWriter クラス (System.IO)
http://msdn.microsoft.com/ja-jp/library/system.io.streamwriter(v=vs.110).aspx