Можно ли записать (Добавить - без перезаписи) в существующий двоичный файл.
Добавление будет добавлять данные в конце. Все в порядке. Просто найдите конец потока после его открытия в режиме чтения / записи.
Звучит так, как будто вы хотите вставить данные, но это недоступно. Это не то, что файловые системы имеют тенденцию поддерживать. Вам нужно будет скопировать первую часть исходного файла в новый файл, записать новые данные, а затем скопировать оставшуюся часть исходного файла.
Кстати, RandomAccessFile
также не поддерживает вставку, поэтому возможно, что ваш Java-код тоже не работает.
РЕДАКТИРОВАТЬ: Хорошо, так что если вы хотите просто перезаписать, это легко:
using (var stream = File.Open("file.dat", FileMode.Open))
{
stream.Position = 100;
// Assuming data is the data you want to write to the file
stream.Write(data, 0, data.Length);
}