テキストファイルの作成
以下のフォルダにテキストファイルを作成します。
テキストファイルを作成するには、File.CreateText関数を使用します。

以下、コードになります。ボタンをクリックしたときに、testFile.txtを作成する処理になります。
private void Button_Click(object sender, RoutedEventArgs e)
{
System.IO.File.CreateText(@"C:\Users\eggam\Desktop\testFolder\testFile.txt");
MessageBox.Show("テキストファイルを作成しました");
}
実行後、ファイルが作成されました。

テキストファイルの中身を編集する
先ほど作成したテキストファイルの内容を編集します。
まず、StreamWriterを使って、編集したいパスのオブジェクトを取得して、それから、WriteLine関数を使ってファイルを編集します。
private void Button_Click(object sender, RoutedEventArgs e)
{
StreamWriter sw = new StreamWriter(@"C:\Users\eggam\Desktop\testFolder\testFile.txt");
sw.WriteLine("あいうえお");
sw.Close(); //オブジェクトを破棄
MessageBox.Show("テキストファイルに書き込みました");
}
結果は以下の通りです。

ちなみに、Enviroment.NewLineを使って、書き込むテキストを改行させることができます。
private void Button_Click(object sender, RoutedEventArgs e)
{
StreamWriter sw = new StreamWriter(@"C:\Users\eggam\Desktop\testFolder\testFile.txt");
string writeData = "あいうえお"+Environment.NewLine+"かきくけこ";
sw.WriteLine(writeData);
sw.Close(); //オブジェクトを破棄
MessageBox.Show("テキストファイルに書き込みました");
}

テキストファイル作成と編集を一緒の関数でやる
上記処理を同じ関数でやろうとすると、エラーが返ります。理由は、ファイル作成の後、オブジェクトを破棄されておらず、書き込みの時に、これは使われているからアクセスできないよ!ということになるからです。

一緒にやるためには、ファイル作成後、オブジェクトを破棄するように作成してあげる必要があります。
File.Createの処理を以下のように書き換えます。
private void Button_Click(object sender, RoutedEventArgs e)
{
FileInfo fi = new FileInfo(@"C:\Users\eggam\Desktop\testFolder\testFile.txt");
FileStream fs = fi.Create(); //テキストを作成
fs.Close(); //オブジェクトを破棄
MessageBox.Show("テキストファイルを作成しました");
StreamWriter sw = new StreamWriter(@"C:\Users\eggam\Desktop\testFolder\testFile.txt");
string writeData = "あいうえお" + Environment.NewLine + "かきくけこ";
sw.WriteLine(writeData);
sw.Close(); //オブジェクトを破棄
MessageBox.Show("テキストファイルに書き込みました");
}
先ほどのStreamWriter同様、FileStreamでオブジェクトを破棄できるよう変更しました。
実行前

実行後

コメント