
<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
write写入 覆盖
我想在打开的一个txt文件里写东西,然后按原路径保存。
sw = New StreamWriter(n.file)
sw.BaseStream.Seek(0, SeekOrigin.Begin)
sw.Write(n.RichTextBox1.Text)
sw.Close()
假如原文件里有6个字,我把他们都删了,再写3个字,然后保存。可是会发现文件里的还是6个字原文件的后3个字还在。这个怎么办,谢谢各位大侠。
__________________________________________________________________________
文本文件是顺序存储的,没有删除的说法
只能覆盖,你必须把这三个字后面全部读出,再写文件,覆盖后三个字~
__________________________________________________________________________
或者用变通的办法,后三个字写入别的字符比如全角空格
__________________________________________________________________________
也许大哥(大姐)没有明白我的意思。
比如原文件是:123456
我打开后修改为:789
然后保存
再打开文件是:789456
怎么才能把456去掉?
__________________________________________________________________________
那样要占空间吗,再说要判断个数,再加空格要增加一些代码不是?
__________________________________________________________________________
字符数必须相同,可以加三个空格写入 789
否则的话就只能把后面的全部写入了
__________________________________________________________________________
To guzhilei1986 (空格)
没太理解你的问题,仅从你的例子分析,可以用下面的代码实现
System.IO.File.WriteAllLines(filename, New String() { 789 })
__________________________________________________________________________
文件长度截断为零,重写文件内容
__________________________________________________________________________
不知为什么在学校的机房里它会自动覆盖,可是在我的机子上就是不行。
__________________________________________________________________________