Каков наилучший способ писать байты в середине файла с помощью Java?Лучший способ писать байты в середине файла в Java
13
A
ответ
20
Чтение и запись в середине файла так же просто, как использование RandomAccessFile
в Java.
RandomAccessFile
, несмотря на его название, больше похож на InputStream
и OutputStream
и менее напоминает File
. Он позволяет читать или искать через bytes
в файле, а затем начинать писать над любыми байтами, на которые вы хотите остановиться.
Как только вы открываете этот класс, его очень легко использовать, если у вас есть базовое понимание регулярного ввода-вывода файла.
Небольшой пример:
public static void aMethod(){
RandomAccessFile f = new RandomAccessFile(new File("whereDidIPutTHatFile"), "rw");
long aPositionWhereIWantToGo = 99;
f.seek(aPositionWhereIWantToGo); // this basically reads n bytes in the file
f.write("Im in teh fil, writn bites".getBytes());
f.close();
}
6
0
Открыть файл в режиме записи без усечения его, стремиться к желаемому смещения и записать нужные данные. Просто будьте осторожны в текстовом/двоичном режиме.
Что делать, если я не знаю позицию или у меня есть сотни файлов, где я должен вставлять данные в середине их после какой-то определенный текст? – VENKI 2012-01-20 15:39:39