2008-10-08 5 views

ответ

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(); 
} 
+0

Что делать, если я не знаю позицию или у меня есть сотни файлов, где я должен вставлять данные в середине их после какой-то определенный текст? – VENKI 2012-01-20 15:39:39

6

Использование RandomAccessFile

+0

Учебник связан с фактически не говоря уже о классе RandomAccessFile. Может быть, это вместо этого: http://tutorials.jenkov.com/java-io/randomaccessfile.html – AndrewR 2012-03-13 01:01:17

0

Открыть файл в режиме записи без усечения его, стремиться к желаемому смещения и записать нужные данные. Просто будьте осторожны в текстовом/двоичном режиме.

 Смежные вопросы

  • Нет связанных вопросов^_^