可以说有一个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。有人知道如何处理吗?

最佳答案

FileStream.SetLength()呢?

07-24 09:28