Функция writeLines

Функция writeLines записывает коллекцию строк в файл, заменяя его предыдущее содержимое. Каждый элемент коллекции записывается как отдельная строка. По умолчанию используется кодировка UTF-8.

Импорт

kotlinimport java.io.File

Синтаксис

kotlinfun File.writeLines(
  lines: Iterable<String>,
  charset: Charset = Charsets.UTF_8
)
kotlinfun File.writeLines(
  lines: Sequence<String>,
  charset: Charset = Charsets.UTF_8
)

Пример

Запишем список строк в файл data.txt:

kotlinval lines = listOf("line1", "line2", "line3")
val file = File("data.txt")
file.writeLines(lines)

Содержимое файла после выполнения:

kotlinline1
line2
line3

Пример

Запишем последовательность строк в файл с указанием кодировки UTF-16:

kotlinval lines = sequenceOf("abcde", "12345", "test")
val file = File("output.txt")
file.writeLines(lines, Charsets.UTF_16)

Пример

Использование массива строк для записи в файл:

kotlinval linesArray = arrayOf("first", "second", "third")
val file = File("array_data.txt")
file.writeLines(linesArray.asList())

Пример

Запись числовых данных в виде строк:

kotlinval numbers = listOf(1, 2, 3, 4, 5)
val stringNumbers = numbers.map { it.toString() }
val file = File("numbers.txt")
file.writeLines(stringNumbers)

Содержимое файла после выполнения:

kotlin1
2
3
4
5

Пример

Обработка исключений при записи файла:

kotlinval lines = listOf("data1", "data2", "data3")
val file = File("/readonly/file.txt")

try {
  file.writeLines(lines)
  println("File written successfully")
} catch (e: IOException) {
  println("Error writing file: ${e.message}")
}

Результат выполнения кода:

kotlinString "Error writing file: Permission denied"

Смотрите также

  • функцию readLines,
    которая читает строки из файла
  • функцию writeText,
    которая записывает текст в файл
  • функцию appendText,
    которая добавляет текст в конец файла
  • класс File,
    который представляет файл или директорию