RandomAccessFile Java, добавление/замена строк в файле txt

376
24 августа 2017, 19:34

Здравствуйте! Задача добавить следующую строку после определенной, но у меня почему то выходит именно замена следующей строки, но самое главное возникают лишние значки (как я понимаю из за кодировки?!) и заменяются первые буквы следующей строки(.

    public class WorkWithFile {
    private String path;
    private RandomAccessFile file;
    public WorkWithFile(String path) {
        this.path = path;
    }
    //str строка, полсе которой  надо будет добавить строку str_add
    public void replaceAfterString(String str, String str_add) throws IOException {
        RandomAccessFile file = new RandomAccessFile(path, "rw");
        String str_read;
        while ((str_read = file.readLine()) != null) {
            String utf8 = new String(str_read.getBytes("ISO-8859-1"), "UTF-8");
            if (utf8.equals(str)) {
                file.write(str_add.getBytes());
                file.writeChars("\n");
            }
        }
        file.close();
    }
}
public class ChangeText {
    private static WorkWithFile work;
    public static void main(String[] args) throws IOException {
    work = new WorkWithFile("D:/other/Text/primer.txt");
    work.replaceAfterString("123 45", "алло");
  }
}    

Вот что лежит в файле primer.txt

Шла Саша по шоссе
и смотрела фильмы
123 45
всё
Это должно работать!

READ ALSO
Spring OAuth повторный запрос информации

Spring OAuth повторный запрос информации

Я пытаюсь сделать OAuth 20 авторизацию с помощью стандартных средств Spring Security OAuth, никаких дополнительных настроек не применяется, конфигурация...

184
Сортировка Collections.sort() и замер времени выполнения

Сортировка Collections.sort() и замер времени выполнения

Здравствуйте, пытаюсь замерить время для сортировки в одинаковых условиях для LinkedList & ArrayList

247
List vs ArrayList [дубликат]

List vs ArrayList [дубликат]

На данный вопрос уже ответили:

192
Generic function in Java [требует правки]

Generic function in Java [требует правки]

I want to write function for getting number of object in List(index notEl) that extends abstract classNotationElement

289