Scala работа с файлами

Чтение файла

Чтение файлов осуществляется классом scala.io.Source, при помощи которого можно получить поток данных из файла, как то поток строк или поток символов.

Source.fromFile(“data.txt”) – вернет scala.io.BufferedSource экземпляр не пустого итератора.

Source.fromFile(“data.txt”).mkString – вернет все содержимое файла как единую строку.

Source.fromFile(“data.txt”).getLines.foreach { x => println(x) }; – вернет итератор со строками файла (построчная обработка).

Запись в файл

Запись производится через классы java

Обычно FileWriter используется для записи простого текста в файл, однако есть некоторые различия между PrintWriter и FileWriter. Например, хотя оба класса наследуются от Writer, и оба могут использоваться для записи простого текста в файлы, FileWriter выбрасывает IOExceptions, тогда как PrintWriter не генерирует исключений и вместо этого устанавливает флаги Boolean, которые можно проверить. Кроме того PrintWriter позволяет установить кодировку для записываемого текста. Обратите внимание, что конструкторы PrintWriter позволяют указать кодировку, но FileWriter такого поведения не имеет. В Java 8 FileWriter Javadoc предлагает использовать OutputStreamWriter для FileOutputStream для указания кодировки файла.

Работа с бинарными данными

Пример использования классических Java классов для бинарной работы с файлами, для задачи копирования файла

Обсуждение закрыто.