【发布时间】:2010-08-04 06:32:18
【问题描述】:
假设有一个 150 字节长的文件,我想从最后截断它的最后 16 个(或任意数量)...
除了重新编写完整的文件之外,还有其他方法吗?
更新: SetLength 应该做的事情,但不幸的是 NotSupportedException 被抛出
using (FileStream fsFinalWrite = new FileStream(FileName, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite))
{
fsFinalWrite.Seek(16, SeekOrigin.End);
fsFinalWrite.Write(SwappedBytes, 0, 16);
Debug.WriteLine("fsFinalWrite Can Seek = " + fsFinalWrite.CanSeek);
Debug.WriteLine("fsFinalWrite Can Write = " + fsFinalWrite.CanWrite);
fsFinalWrite.SetLength((long)lengthOfFile);
}
两者都打印正确!但它仍然会引发 NotSupportedException。有人知道如何处理吗?
【问题讨论】:
-
操作系统?文件系统?
标签: c# file-io compact-framework filestream truncate