Как добавить данные, используя только BinaryWriter в конце файла?

Возможно, аналогичные вопросы задавались в Stackru, но я, похоже, не смог найти решение своей проблемы.

Я просто хочу открыть двоичный поток с возможностью записи и иметь возможность добавлять данные в файл, используя тот же поток. По-видимому, если вы откроете файл для записи, он сотрет все содержащиеся в нем данные и начнет новый. Кроме того, если вы открываете файл только для чтения, вы не можете писать, а только читать. Люди действительно предлагали в Интернете использовать два отдельных потока - один для чтения, а другой для записи. Я не думаю, что это сработает в этом случае.

Взгляните на мой пример кода, я хочу сделать что-то похожее:

fs:BinaryWriter;

fs := new BinaryWriter(File.Create('c:\test.dat'));

fs.seek(0,SeekOrigin.End);

fs.Write('test string');

fs.Close;

1 ответ

Решение

Если вы откроете писателя, как это

Stream fs = new FileStream(filename, FileMode.Append);
BinaryWriter bw = new BinaryWriter(fs);

он должен открыться в режиме добавления.

Другие вопросы по тегам