删除文件的最后10个字符
我想删除文件的最后10个字符。 说一个字符串"hello i am ac# learner"
是文件里面的数据。
我只是希望那个文件是"hello i am a "
。 应该在文件中删除文件的最后10个字符,即字符串"c# learner"
。
解:
-
将整个文件读入一个字符串并删除最后10个字符并写回字符串(但是当文件大小太大时,这种方法会失败,说一些200 MB文件,当我们只需要最后一个文件时甚至不需要读取整个文件10个字符。所以我不能尝试这种方法)
-
我想在写模式下打开文件并将光标位置设置为类似于
file.seek(-10,SeekOrigin.End)
并写入空字节file.writebye((byte)((char)' '));
但它似乎没有写任何文件。
谁能告诉我更好的方法来接近它而不是将整个文件读入字符串。
注意我使用c#来执行此操作
获取文件大小(使用FileInfo),打开文件(使用FileStream)并将其Length设置为所需的大小。
如果文件路径位于文本框中:
FileStream fs = new FileStream(textBox1.Text, FileMode.Open, FileAccess.ReadWrite); fs.SetLength(fs.Length - 10); fs.Close();
也许你可以试试这样的东西?
yourString = yourString.Remove(yourString.Length -10);