【发布时间】:2014-08-09 15:39:43
【问题描述】:
如何获取文件中的最后一个字符,如果是某个字符,删除它而不将整个文件加载到内存中?
这是我目前所拥有的。
using (var fileStream = new FileStream("file.txt", FileMode.Open, FileAccess.ReadWrite)){
fileStream.Seek(-1, SeekOrigin.End);
if (Convert.ToChar(fileStream.ReadByte()) == ']')
{
// Here to come deleting the character
}
【问题讨论】:
-
定义“字符”。文件有什么样的编码?
-
一个字节很容易做到。一个字符要复杂得多,它取决于文件中的文本是如何编码的。一个字符可以占用 1 到 5 个字节。假设你知道如何处理这个问题,基本调用是 FileStream.Seek() 和 FileStream.SetLength()。
-
我已经添加了到目前为止的内容。我发现了如何寻找,但不确定如何删除角色。有问题的字符是']',如我的代码所示。
标签: c#