Построчное чтение файла в Java — BufferedReader и Files.lines
Программа на Java для чтения содержимого файла построчно.
Для понимания этого примера нужно знать следующие темы Java:
Класс
java.io.FileКласс
java.io.BufferedInputStreamКласс
java.io.FileReader
Пример 1: чтение файла с помощью BufferedInputStream
import java.io.BufferedInputStream;
import java.io.FileInputStream;
class Main {
public static void main(String[] args) {
try {
// Creates a FileInputStream
FileInputStream file = new FileInputStream("input.txt");
// Creates a BufferedInputStream
BufferedInputStream input = new BufferedInputStream(file);
// Reads first byte from file
int i = input .read();
while (i != -1) {
System.out.print((char) i);
// Reads next byte from the file
i = input.read();
}
input.close();
}
catch (Exception e) {
e.getStackTrace();
}
}
}
Вывод:
First Line
Second Line
Third Line
Fourth Line
Fifth Line
В этом примере мы использовали класс BufferedInputStream, чтобы прочитать каждую строку из файла input.txt.
Примечание
Чтобы программа сработала, в текущем рабочем каталоге должен быть файл input.txt.
Пример 2: чтение файла с помощью BufferedReader
import java.io.FileReader;
import java.io.BufferedReader;
class Main {
public static void main(String[] args) {
// Creates an array of character
char[] array = new char[100];
try {
// Creates a FileReader
FileReader file = new FileReader("input.txt");
// Creates a BufferedReader
BufferedReader input = new BufferedReader(file);
// Reads characters
input.read(array);
System.out.println("Data in the file: ");
System.out.println(array);
// Closes the reader
input.close();
}
catch(Exception e) {
e.getStackTrace();
}
}
}
Вывод:
Data in the file:
First Line
Second Line
Third Line
Fourth Line
Fifth Line
В этом примере мы использовали класс BufferedReader для чтения файла input.txt.
Пример 3: чтение файла с помощью Scanner
import java.io.File;
import java.util.Scanner;
class Main {
public static void main(String[] args) {
try {
// create a new file object
File file = new File("input.txt");
// create an object of Scanner
// associated with the file
Scanner sc = new Scanner(file);
// read each line from file and print it
System.out.println("Reading File Using Scanner:");
while(sc.hasNextLine()) {
System.out.println(sc.nextLine());
}
// close scanner
sc.close();
} catch (Exception e) {
e.getStackTrace();
}
}
}
Вывод:
Reading File Using Scanner:
First Line
Second Line
Third Line
Fourth Line
Fifth Line
В этом примере мы создали объект класса File с именем file. Затем создали объект Scanner, связанный с этим файлом.
Здесь мы использовали методы Scanner:
hasNextLine() — возвращает
true, если в файле есть следующая строкаnextLine() — возвращает целую строку из файла