Допустим, есть файл длиной 150 байт, и я хочу обрезать последние 16 (или любое число) его с конца ...
Есть ли другой способ сделать это, кроме перезаписи всего файла?
UPDATE:
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. Кто-нибудь знает, как справиться с этим?