天天看点

[VB.NET]write写入 覆盖

[VB.NET]write写入 覆盖

<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 })

__________________________________________________________________________

文件长度截断为零,重写文件内容

__________________________________________________________________________

不知为什么在学校的机房里它会自动覆盖,可是在我的机子上就是不行。

__________________________________________________________________________