Освоение Java FileReader: подробное руководство и практические примеры
Класс Java FileReader
Класс FileReader в пакете java.io читает символьные данные из файлов. Он расширяет InputStreamReader и поддерживает различные кодировки символов.
Создание FileReader
Сначала импортируйте класс:
import java.io.FileReader;
1. По имени файла
FileReader input = new FileReader("path/to/file.txt");
Создаёт ридер, открывающий указанный файл.
2. По объекту File
File fileObj = new File("path/to/file.txt");
FileReader input = new FileReader(fileObj);
3. Указание кодировки (Java 11+)
FileReader input = new FileReader("path/to/file.txt", StandardCharsets.UTF_8);
Использование Charset позволяет читать файлы с нужной кодировкой.
Ключевые методы FileReader
Метод read()
read()— читает один символ.read(char[] array)— заполняет массив символами.read(char[] array, int offset, int length)— читаетlengthсимволов в массив начиная сoffset.
Пример: чтение input.txt с содержимым «This is a line of text inside the file.»
import java.io.FileReader;
class Main {
public static void main(String[] args) {
char[] buffer = new char[100];
try (FileReader reader = new FileReader("input.txt")) {
int readCount = reader.read(buffer);
System.out.println("Данные в файле:");
System.out.println(new String(buffer, 0, readCount));
} catch (Exception e) {
e.printStackTrace();
}
}
}
Вывод
Данные в файле: This is a line of text inside the file.
Примечание: разместите input.txt в текущей рабочей директории.
Метод getEncoding()
Получает используемую ридером кодировку:
import java.io.FileReader;
import java.nio.charset.StandardCharsets;
class Main {
public static void main(String[] args) {
try {
FileReader defaultReader = new FileReader("input.txt");
FileReader utf8Reader = new FileReader("input.txt", StandardCharsets.UTF_8);
System.out.println("Кодировка по умолчанию: " + defaultReader.getEncoding());
System.out.println("UTF-8 кодировка: " + utf8Reader.getEncoding());
} catch (Exception e) {
e.printStackTrace();
}
}
}
Вывод
Кодировка по умолчанию: Cp1252 UTF-8 кодировка: UTF-8
Когда кодировка указана, getEncoding() возвращает её; иначе — платформенную по умолчанию.
Метод close()
Всегда закрывайте ридер после использования. Оператор try-with-resources выше делает это автоматически.
Дополнительные методы FileReader
| Метод | Описание |
|---|---|
ready() | Указывает, готов ли поток к чтению. |
mark() | Помечает текущую позицию в потоке. |
reset() | Возвращает поток к последней отметке. |
Для подробностей см. официальную документацию Java FileReader.
java
- Ключевое слово final в Java: переменные, методы и классы
- Оператор instanceof в Java: полное руководство с примерами
- Статические вложенные классы в Java: использование, отличия и примеры
- Анонимные внутренние классы в Java: определение, синтаксис и практические примеры
- Паттерн Singleton в Java: как реализовать и безопасно использовать
- Рефлексия в Java: инспекция классов, методов и полей во время выполнения
- Освоение Java ObjectOutputStream: сериализация, методы и практические примеры
- Освоение Java BufferedReader: эффективная обработка символьных потоков
- Освоение Java Generics: создание переиспользуемого, типобезопасного кода
- Мастерство файловых операций в Java с java.io: создание, чтение, запись и удаление