Java FileReader – простой способ чтения файлов
Java FileReader представляет собой класс, который используется для чтения данных из текстовых файлов. Он является частью библиотеки ввода-вывода (I/O) Java и является потоковым классом, который наследуется от класса Reader.
Основной метод FileReader - это read(), который используется для чтения данных из файла и может возвращать символы в виде int. Также FileReader имеет некоторые дополнительные методы, такие как close() и skip().
Рассмотрим пример использования FileReader для чтения содержимого текстового файла:
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class FileReaderExample {
public static void main(String[] args) {
FileReader fileReader = null;
try {
File file = new File("example.txt");
fileReader = new FileReader(file);
int character;
while ((character = fileReader.read()) != -1) {
System.out.print((char) character);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (fileReader != null) {
fileReader.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
В данном примере мы создаем новый объект FileReader и передаем ему файл example.txt. Затем мы используем метод read() для последовательного чтения каждого символа из файла и выводим их на консоль. После окончания чтения мы закрываем файл вызовом метода close().
Также стоит учитывать, что FileReader не имеет функциональности буферизации, поэтому в случае чтения больших файлов рекомендуется использовать классы BufferedReader или Scanner, которые создают промежуточный буфер для увеличения производительности.
Например, следующий код использует BufferedReader для чтения содержимого файла:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class BufferedReaderExample {
public static void main(String[] args) {
BufferedReader bufferedReader = null;
try {
File file = new File("example.txt");
FileReader fileReader = new FileReader(file);
bufferedReader = new BufferedReader(fileReader);
String line;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (bufferedReader != null) {
bufferedReader.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
Здесь мы используем метод readLine() из BufferedReader для чтения каждой строки из файла и выводим их на консоль. В этом случае мы также закрываем файл вызовом метода close().