读书人

write写入 覆盖解决思路

发布时间: 2012-02-08 19:52:21 作者: rapoo

write写入 覆盖
我想在打开的一个txt文件里写东西,然后按原路径保存。
sw = New StreamWriter(n.file)
sw.BaseStream.Seek(0, SeekOrigin.Begin)
sw.Write(n.RichTextBox1.Text)
sw.Close()
假如原文件里有6个字,我把他们都删了,再写3个字,然后保存。可是会发现文件里的还是6个字原文件的后3个字还在。这个怎么办,谢谢各位大侠。

[解决办法]
文本文件是顺序存储的,没有删除的说法
只能覆盖,你必须把这三个字后面全部读出,再写文件,覆盖后三个字~
[解决办法]
或者用变通的办法,后三个字写入别的字符比如全角空格
[解决办法]
字符数必须相同,可以加三个空格写入 "789 "
否则的话就只能把后面的全部写入了
[解决办法]
To guzhilei1986 (空格)

没太理解你的问题,仅从你的例子分析,可以用下面的代码实现
System.IO.File.WriteAllLines(filename, New String() { "789 "})
[解决办法]
文件长度截断为零,重写文件内容

读书人网 >VB Dotnet

热点推荐