Cara menambahkan baris baru ke file txt

129

Saya ingin menambahkan baris baru dengan teks ke file date.txt saya, tetapi alih-alih menambahkannya ke date.txt yang ada, aplikasi membuat file date.txt baru ..

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

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

// close the stream
tw.Close();

Saya ingin membuka file txt, menambahkan beberapa teks, menutupnya, dan kemudian setelah mengklik sesuatu: buka date.txt, tambahkan teks, dan tutup kembali.

Jadi saya bisa mendapatkan:

Tombol ditekan: txt dibuka -> menambahkan waktu saat ini, lalu tutup. Tombol lain ditekan, txt dibuka -> menambahkan teks "OK", atau "TIDAK OK" di baris yang sama, lalu tutup lagi.

Jadi file txt saya akan terlihat seperti itu:

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

Bagaimana saya bisa melakukan ini? Terima kasih!

Elfoc
sumber

Jawaban:

262

Anda bisa melakukannya dengan mudah menggunakan

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

Jika Anda memerlukan baris baru

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

Pokoknya jika Anda membutuhkan kode Anda lakukan ini:

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

dengan parameter kedua yang ingin ditambahkan ke file.
Periksa di sini sintaks StreamWriter.

Marco
sumber
12
Jika Anda menggunakan kompiler c # 4 (atau yang lebih baru), Anda dapat new StreamWriter("date.txt", append:true)membuatnya lebih jelas.
kͩeͣmͮpͥ ͩ
21

Tidak ada baris baru:

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

dan kemudian untuk mendapatkan baris baru setelah OK:

File.AppendAllText("file.txt", string.Format("{0}{1}", "OK", Environment.NewLine));
Asken
sumber
13
Silakan gunakan Environment.Newlinedan tidak "\r\n"- tidak semua sistem menyetujui cara kerja baris baru: en.wikipedia.org/wiki/Newline#Representations
kͩeͣmͮpͥ ͩ
4

Mengapa tidak melakukannya dengan satu panggilan metode:

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

yang akan melakukan baris baru untuk Anda, dan memungkinkan Anda untuk memasukkan beberapa baris sekaligus jika Anda mau.

kad81
sumber
Saya lebih suka ini daripada jawaban yang diterima; Anda tidak perlu menentukan baris baru
kuda laut twolegged
0
var Line = textBox1.Text + "," + textBox2.Text;

File.AppendAllText(@"C:\Documents\m2.txt", Line + Environment.NewLine);
Mehdi
sumber