Поскольку C # не разрешает этот тип преобразования наследования в данный момент .
FileStream. SetLength является тем, который Вы хотите. Синтаксис:
public override void SetLength(
long value
)
Если необходимо создать файл, я думаю, что можно, вероятно, сделать что-то вроде этого:
using (FileStream outFile = System.IO.File.Create(filename))
{
outFile.Seek(<length_to_write>-1, SeekOrigin.Begin);
OutFile.WriteByte(0);
}
, Где length_to_write был бы размером в байтах файла для записи. Я не уверен, что у меня есть корректный синтаксис C# (не на компьютере для тестирования), но я сделал подобные вещи в C++ в прошлом, и это работало.
К сожалению, Вы не можете действительно сделать этого только путем поиска в конец. Это установит длину файла на что-то огромное, но не может на самом деле выделить дисковые блоки для устройства хранения данных. Таким образом, когда Вы идете для записи файла, он все еще перестанет работать.