วิธีเพิ่มบรรทัดใหม่ในไฟล์ 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 เปิด -> เพิ่มข้อความ "ตกลง" หรือ "ไม่ตกลง" ในบรรทัดเดียวกันแล้วปิดอีกครั้ง

ดังนั้นไฟล์ txt ของฉันจะมีลักษณะดังนี้:

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

ฉันจะทำสิ่งนี้ได้อย่างไร? ขอบคุณ!

คำตอบ:


263

คุณสามารถทำได้อย่างง่ายดายโดยใช้

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

หากคุณต้องการขึ้นบรรทัดใหม่

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

อย่างไรก็ตามหากคุณต้องการรหัสของคุณให้ทำสิ่งนี้:

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

ด้วยพารามิเตอร์ที่สองบอกให้ผนวกเข้ากับไฟล์
ตรวจสอบไวยากรณ์ StreamWriter ที่นี่


12
หากคุณใช้คอมไพเลอร์ c # 4 (หรือใหม่กว่า) คุณสามารถnew StreamWriter("date.txt", append:true)ทำให้ความตั้งใจชัดเจนขึ้นเล็กน้อย
kͩeͣmͮpͥͩ

21

ไม่มีบรรทัดใหม่:

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

จากนั้นขึ้นบรรทัดใหม่หลังจากตกลง:

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

13
โปรดใช้Environment.Newlineและไม่ใช่"\r\n"- ไม่ใช่ทุกระบบที่เห็นด้วยกับการทำงานของ newlines: en.wikipedia.org/wiki/Newline#Representations
kͩeͣmͮpͥͩ

4

ทำไมไม่ทำด้วยวิธีการเดียว:

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

ซึ่งจะขึ้นบรรทัดใหม่ให้คุณและให้คุณแทรกหลายบรรทัดพร้อมกันได้หากต้องการ


ฉันชอบสิ่งนี้กับคำตอบที่ยอมรับ คุณไม่จำเป็นต้องระบุบรรทัดใหม่
twoleggedhorse

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.