Как добавить данные, используя только 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);
он должен открыться в режиме добавления.