У меня есть текстовый файл базы данных, в котором я хочу манипулировать определенными строками. Например: я хочу удалить набор данных в строке 44 или отредактировать набор данных в строке 22. Я пробовал FileWriter и RandomAccessFile, которые, похоже, не подходят для этой работы. FileWriter может только добавлять текст в файл и не использует указатель для навигации по базе данных. RandomAccessFile кажется хорошим для работы, но я продолжаю сталкиваться с проблемой, что, когда я использовал методы RAF в моем txt-файле, кодировка файла ломается, и как только я его открываю, я вижу только странные символы Unicode. Можно ли использовать класс RAF, не нарушая кодировку, или есть другой класс для управления файлами в определенных местах байтов или в определенных строках. Заранее спасибо!
Код для РАФ:
public static void main(String[] args)
{
try
{
RandomAccessFile raf = new RandomAccessFile("test123.txt", "rw");
raf.seek(0);
raf.writeChars("First line of text" + System.lineSeparator());
raf.writeChars("Second line of text");
raf.close();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Вывод в файле: Первая строка текста
S e c o n d l i n e o f t e x t