删除文件的最后10个字符

时间:2013-03-09 15:08:26

标签: c# file

我想删除文件的最后10个字符。假设字符串"hello i am a c# learner"是文件中的数据。

我只希望该文件为"hello i am a "。应该在文件中删除文件的最后10个字符,即字符串"c# learner"

解决方案:

  1. 将整个文件读入一个字符串并删除最后10个字符并写回字符串(但是当文件大小过大时,这种方法会失败,说一些200 MB的文件,甚至是不必要的方式来读取整个文件文件,当我们只需要最后10个字符。所以我不能尝试这种方法)

  2. 我想在写入模式下打开文件并将光标位置设置为此file.seek(-10,SeekOrigin.End)并写入空字节file.writebye((byte)((char)' '));

  3. 但它似乎没有写任何文件。

    有人能告诉我接近它的更好方法,而不是将整个文件读入字符串。

    注意我正在使用c#来执行此操作

3 个答案:

答案 0 :(得分:6)

如果文件路径位于文本框中:

FileStream fs = new FileStream(textBox1.Text, FileMode.Open, FileAccess.ReadWrite);
fs.SetLength(fs.Length - 10);
fs.Close();

答案 1 :(得分:1)

获取文件大小(使用FileInfo),打开文件(使用FileStream)并将其Length设置为所需的大小。

答案 2 :(得分:1)

也许你可以试试这样的东西?

yourString = yourString.Remove(yourString.Length -10);