Я абсолютно новичок в Kotlin и, похоже, просто не могу получить процедуру добавления в файл.
У меня есть имя файла, заданное val path: String = "..... txt"
Я хочу метод в моем классе, который принимает строку: String и добавляет его в конец моего файла (на новой строке).
Мой тестовый пример: два последовательных вызова метода с двумя разными строками, например, «foo» и «bar», и я ожидаю, что файл будет выглядеть так:
foo
bar
Это работает, если мой метод выглядит так:
fun writeLine(line: String) {
val f = File(path!!)
f.appendText(line + System.getProperty("line.separator"))
}
И это никак не работает так:
fun writeLine(line: String) {
val f = File(path!!)
f.bufferedWriter().use { out->
out.append(line)
out.newLine()
}
}
Он перезаписывает мой файл при каждом вызове, поэтому я получаю только "бар" в моем файле
Он также не работает с printWriter:
fun writeLine(line: String) {
val f = File(path!!)
f.printWriter().use { out->
out.append(line)
}
}
Я получил тот же результат, что и для BufferedWriter. Зачем? Я просто не могу получить это. Как добавить с помощью BufferedWriter или PrintWriter?