Java FileReader (с примери)

В този урок ще научим за 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(); ) ) ) 

Изход

 Кодиране на знаци на вход1: Cp1252 Кодиране на знаци на вход2: UTF8 

В горния пример създадохме 2 четеца на файлове с име input1 и input2.

  • input1 не указва кодирането на символа. Следователно getEncoding()методът връща кодирането на символите по подразбиране.
  • input2 определя кодирането на символи, UTF8 . Следователно getEncoding()методът връща посоченото кодиране на символи.

Забележка : Използвахме Charset.forName()метода, за да определим типа кодиране на символи. За да научите повече, посетете Java Charset (официална документация за Java).

метод close ()

За да затворим четеца на файлове, можем да използваме close()метода. След като close()методът бъде извикан, не можем да използваме четеца за четене на данните.

Други методи на FileReader

Метод Описание
ready() проверява дали четецът на файлове е готов за четене
mark() маркирайте позицията в четеца на файлове, до която са прочетени данните
reset() връща контролата до точката в четеца, където е зададена маркировката

За да научите повече, посетете Java FileReader (официална документация за Java).

Интересни статии...