txtファイルに新しい行を追加する方法


129

date.txtファイルにテキストを含む新しい行を追加したいのですが、既存のdate.txtに追加するのではなく、アプリが新しいdate.txtファイルを作成しています。

TextWriter tw = new StreamWriter("date.txt");

// write a line of text to the file
tw.WriteLine(DateTime.Now);

// close the stream
tw.Close();

txtファイルを開き、テキストを追加して閉じ、後で何かをクリックした後、date.txtを開き、テキストを追加して、もう一度閉じます。

だから私は得ることができます:

ボタンが押された:txtが開いた->現在の時刻が追加され、閉じた。別のボタンが押され、txtが開いた->同じ行に「OK」または「NOT OK」というテキストを追加してから、もう一度閉じます。

したがって、私のtxtファイルは次のようになります。

2011-11-24 10:00:00 OK
2011-11-25 11:00:00 NOT OK

これどうやってするの?ありがとう!

回答:


262

あなたはそれを使って簡単にそれを行うことができました

File.AppendAllText("date.txt", DateTime.Now.ToString());

改行が必要な場合

File.AppendAllText("date.txt", 
                   DateTime.Now.ToString() + Environment.NewLine);

とにかくあなたのコードが必要な場合はこれを行ってください:

TextWriter tw = new StreamWriter("date.txt", true);

ファイルに追加するように指示する2番目のパラメーター。
チェックここのStreamWriter構文を。


12
C#4(またはそれ以降)のコンパイラーを使用している場合はnew StreamWriter("date.txt", append:true)、意図を少し明確にすることができます。
ケンプͩ

21

改行なし:

File.AppendAllText("file.txt", DateTime.Now.ToString());

OKの後に新しい行を取得するには:

File.AppendAllText("file.txt", string.Format("{0}{1}", "OK", Environment.NewLine));

13
使用してくださいEnvironment.Newlineではなく"\r\n"-ではないすべてのシステムがどのように改行仕事に同意する:en.wikipedia.org/wiki/Newline#Representations
ケンプͩ

4

1つのメソッド呼び出しでそれを行わないのはなぜですか。

File.AppendAllLines("file.txt", new[] { DateTime.Now.ToString() });

これにより改行が行われ、必要に応じて一度に複数の行を挿入できます。


私はこれを受け入れられた答えよりも好みます。新しい行を指定する必要はありません
twoleggedhorse '13 / 07/13

0
var Line = textBox1.Text + "," + textBox2.Text;

File.AppendAllText(@"C:\Documents\m2.txt", Line + Environment.NewLine);
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.