Построчное чтение файла в Java
Development | Комментировать запись
В данном мануале мы разберем разные способы построчного считывания содержимого файла с помощью Java. Это можно сделать с помощью следующих классов Java: java.io.BufferedReader, java.util.Scanner, Files.readAllLines() и java.io.RandomAccessFile.
Чтение файла с помощью BufferedReader
Читать файл построчно можно с помощью метода readLine() из java.io.BufferedReader. Этот метод возвращает null при достижении конца файла.
Пример считывания с помощью BufferedReader:
import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class ReadFileLineByLineUsingBufferedReader { public static void main(String[] args) { BufferedReader reader; try { reader = new BufferedReader(new FileReader("sample.txt")); String line = reader.readLine(); while (line != null) { System.out.println(line); // read next line line = reader.readLine(); } reader.close(); } catch (IOException e) { e.printStackTrace(); } } }
Узнайте больше о BufferedReader в API Doc (Java SE 8).
Чтение файла с помощью Scanner
С помощью класса Scanner можно открыть файл, а затем построчно прочитать его содержимое.
Ниже приведен пример чтения файла с помощью Scanner:
package com.journaldev.readfileslinebyline; import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; public class ReadFileLineByLineUsingScanner { public static void main(String[] args) { try { Scanner scanner = new Scanner(new File("sample.txt")); while (scanner.hasNextLine()) { System.out.println(scanner.nextLine()); } scanner.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } } }
Рекомендуем узнать больше о Scanner в API Doc (Java SE 8).
Чтение файла с помощью java.nio.file.Files
java.nio.file.Files — это класс утилит, в котором есть разные полезные методы. С помощью метода readAllLines() можно прочитать все строки файла в виде списка.
Пример построчного чтения файла с помощью Files:
package com.journaldev.readfileslinebyline; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import java.util.List; public class ReadFileLineByLineUsingFiles { public static void main(String[] args) { try { List allLines = Files.readAllLines(Paths.get("sample.txt")); for (String line : allLines) { System.out.println(line); } } catch (IOException e) { e.printStackTrace(); } } }
Рекомендуем подробнее ознакомиться с Files в API Doc (Java SE 8).
Чтение файла с помощью RandomAccessFile
С помощью RandomAccessFile можно открыть файл в read mode, а затем с помощью метода readLine прочитать файл построчно.
Пример работы RandomAccessFile:
package com.journaldev.readfileslinebyline; import java.io.IOException; import java.io.RandomAccessFile; public class ReadFileLineByLineUsingRandomAccessFile { public static void main(String[] args) { try { RandomAccessFile file = new RandomAccessFile("sample.txt", "r"); String str; while ((str = file.readLine()) != null) { System.out.println(str); } file.close(); } catch (IOException e) { e.printStackTrace(); } } }
Узнайте больше о RandomAccessFile в API Doc (Java SE 8).
Заключение
В этом мануале мы разобрали разные способы построчного чтения содержимого файла с помощью Java.
Читайте также: Отправка HTTP-запросов GET и POST в Java
Tags: Java