首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >删除文件的最后10个字符

删除文件的最后10个字符
EN

Stack Overflow用户
提问于 2013-03-09 15:08:25
回答 3查看 4.2K关注 0票数 2

我想删除文件的最后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)' '));

但它似乎没有将任何东西写入文件。

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

注意到我正在使用c#来完成这个任务

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-03-09 15:16:31

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

票数 1
EN

Stack Overflow用户

发布于 2013-03-09 15:26:37

如果文件路径在文本框中:

代码语言:javascript
运行
复制
FileStream fs = new FileStream(textBox1.Text, FileMode.Open, FileAccess.ReadWrite);
fs.SetLength(fs.Length - 10);
fs.Close();
票数 8
EN

Stack Overflow用户

发布于 2013-03-09 15:23:08

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

代码语言:javascript
运行
复制
yourString = yourString.Remove(yourString.Length -10);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15312195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档