如何在txt文件中添加新的数据?

时间:2021-08-01 06:52:32
文件路径为D:\统计\file.txt
文件中原有数据 1,2,3,4,5
现在想在不删除前面数据的情况下添加 ,6,7,8,9,0这段数据
最终文件内容为 1,2,3,4,5,6,7,8,9,0
请问应该如何实现?感激不尽!

12 个解决方案

#1


streamWirter,使用AppendText方法

#2


先读出来再添加!回复内容太短了! 

#3


sorry,上面说错了,
先用streamReader把文件内容读到一个string里面,然后在把後面的内容添加到这个string上,然后在用streamWriter写入文件,应该就行了

#4


streamReader(path,true)//第二个参数append

#5


 直接
File.AppendAllText(@"D:\统计\file.txt ", sStr);
其中sStr是你要添加的字符串,OK,简单吧
还读个什么劲啊

#6


引用 5 楼 mervyn807 的回复:
直接
File.AppendAllText(@"D:\统计\file.txt ", sStr);
其中sStr是你要添加的字符串,OK,简单吧
还读个什么劲啊

这个应该可以实现,不过好像只能加在文本后面的。

#7


不用读取回来,直接打开文件,把指针定位到文件的结尾,写入你的数据。
关闭文件,OK.

#8


引用 5 楼 mervyn807 的回复:
直接
File.AppendAllText(@"D:\统计\file.txt ", sStr);
其中sStr是你要添加的字符串,OK,简单吧
还读个什么劲啊

应该可以,就是追加的

#9


可以直接追加的

#10


一楼、五楼是正解,只是如果你的意思是在文件中间插入数据的话,这样解就不行了,最简单的做法是拼字符串回写(binary 文件怎么办?文件 size 太大怎么办?),另外就是 copy 一个新文件出来在读写 stream 的时候把你要添加的 bytes 写进去(即自己重新实现一下 file copy,会有效率问题)

#11


该回复于2011-07-12 00:06:46被版主删除

#12



FileStream fs = new FileStream("user.txt",FileMode.Append);
            StreamWriter sw = new StreamWriter(fs);
            sw.Write(",6,7,8,9,0");
            sw.Close();

#1


streamWirter,使用AppendText方法

#2


先读出来再添加!回复内容太短了! 

#3


sorry,上面说错了,
先用streamReader把文件内容读到一个string里面,然后在把後面的内容添加到这个string上,然后在用streamWriter写入文件,应该就行了

#4


streamReader(path,true)//第二个参数append

#5


 直接
File.AppendAllText(@"D:\统计\file.txt ", sStr);
其中sStr是你要添加的字符串,OK,简单吧
还读个什么劲啊

#6


引用 5 楼 mervyn807 的回复:
直接
File.AppendAllText(@"D:\统计\file.txt ", sStr);
其中sStr是你要添加的字符串,OK,简单吧
还读个什么劲啊

这个应该可以实现,不过好像只能加在文本后面的。

#7


不用读取回来,直接打开文件,把指针定位到文件的结尾,写入你的数据。
关闭文件,OK.

#8


引用 5 楼 mervyn807 的回复:
直接
File.AppendAllText(@"D:\统计\file.txt ", sStr);
其中sStr是你要添加的字符串,OK,简单吧
还读个什么劲啊

应该可以,就是追加的

#9


可以直接追加的

#10


一楼、五楼是正解,只是如果你的意思是在文件中间插入数据的话,这样解就不行了,最简单的做法是拼字符串回写(binary 文件怎么办?文件 size 太大怎么办?),另外就是 copy 一个新文件出来在读写 stream 的时候把你要添加的 bytes 写进去(即自己重新实现一下 file copy,会有效率问题)

#11


该回复于2011-07-12 00:06:46被版主删除

#12



FileStream fs = new FileStream("user.txt",FileMode.Append);
            StreamWriter sw = new StreamWriter(fs);
            sw.Write(",6,7,8,9,0");
            sw.Close();