У цьому посібнику ми дізнаємося про Java FileReader та його методи за допомогою прикладів.
FileReader
Клас java.io
пакета може бути використаний для читання даних (в символах) з файлів.
Це розширює InputSreamReader
клас.
Перш ніж дізнатися про FileReader
, переконайтеся, що знаєте про файл Java.
Створіть FileReader
Для того, щоб створити програму зчитування файлів, java.io.FileReader
спочатку потрібно імпортувати пакет. Як тільки ми імпортуємо пакет, ось як ми можемо створити зчитувач файлів.
1. Використання імені файлу
FileReader input = new FileReader(String name);
Тут ми створили програму для читання файлів, яка буде пов’язана з файлом, зазначеним в назві.
2. Використання об’єкта файлу
FileReader input = new FileReader(File fileObj);
Тут ми створили програму для читання файлів, яка буде пов’язана з файлом, вказаним об’єктом файлу.
У наведеному вище прикладі дані у файлі зберігаються за допомогою кодування за замовчуванням.
Однак, оскільки Java 11, ми також можемо вказати тип кодування символів ( UTF-8 або UTF-16 ) у файлі.
FileReader input = new FileReader(String file, Charset cs);
Тут ми використали Charset
клас, щоб вказати кодування символів зчитувача файлів.
Методи FileReader
FileReader
Клас забезпечує реалізації для різних методів представлення в Reader
класі.
метод read ()
read()
- читає одного читача з читачаread(char() array)
- зчитує символи з пристрою зчитування та зберігає у вказаному масивіread(char() array, int start, int length)
- зчитує з рідера кількість символів, рівну довжині, і зберігає у вказаному масиві, починаючи з початку позиції
Наприклад, припустимо, у нас є файл з ім'ям input.txt із таким вмістом.
This is a line of text inside the file.
Спробуємо прочитати файл за допомогою FileReader
.
import java.io.FileReader; class Main ( public static void main(String() args) ( // Creates an array of character char() array = new char(100); try ( // Creates a reader using the FileReader FileReader input = new FileReader("input.txt"); // 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(); ) ) )
Вихідні дані
Дані у файлі: це рядок тексту всередині файлу.
У наведеному вище прикладі ми створили програму зчитування файлів з іменем input. Зчитувач файлів пов'язаний з файлом input.txt .
FileInputStream input = new FileInputStream("input.txt");
Для зчитування даних із файлу ми використали read()
метод.
метод getEncoding ()
getEncoding()
Метод може бути використаний для отримання типу кодування , який використовується для зберігання даних у файлі. Наприклад,
import java.io.FileReader; import java.nio.charset.Charset; class Main ( public static void main(String() args) ( try ( // Creates a FileReader with default encoding FileReader input1 = new FileReader("input.txt"); // Creates a FileReader specifying the encoding FileReader input2 = new FileReader("input.txt", Charset.forName("UTF8")); // Returns the character encoding of the file reader System.out.println("Character encoding of input1: " + input1.getEncoding()); System.out.println("Character encoding of input2: " + input2.getEncoding()); // Closes the reader input1.close(); input2.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Вихідні дані
Кодування символів input1: Cp1252 Кодування символів input2: UTF8
У наведеному вище прикладі ми створили 2 пристрої для зчитування файлів з іменем input1 та input2.
- input1 не визначає кодування символів. Отже,
getEncoding()
метод повертає кодування символів за замовчуванням. - input2 визначає кодування символів, UTF8 . Отже,
getEncoding()
метод повертає вказане кодування символів.
Примітка : Ми використовували Charset.forName()
метод, щоб вказати тип кодування символів. Щоб дізнатись більше, відвідайте Java Charset (офіційна документація Java).
метод close ()
Щоб закрити зчитувач файлів, ми можемо скористатися close()
методом. Після виклику close()
методу ми не можемо використовувати зчитувач для зчитування даних.
Інші методи FileReader
Метод | Опис |
---|---|
ready() | перевіряє, чи готовий до читання файл |
mark() | позначте позицію в програмі зчитування файлів, до якої були прочитані дані |
reset() | повертає елемент керування до точки в зчитувачі, де була встановлена позначка |
Щоб дізнатись більше, відвідайте Java FileReader (офіційна документація Java).