În acest tutorial, vom afla despre Java FileReader și metodele sale cu ajutorul unor exemple.
FileReader
Clasa a java.io
pachetului poate fi utilizat pentru a citi datele (în caractere) din fișiere.
Extinde InputSreamReader
clasa.
Înainte de a afla FileReader
, asigurați-vă că știți despre fișierul Java.
Creați un FileReader
Pentru a crea un cititor de fișiere, trebuie mai java.io.FileReader
întâi să importăm pachetul. Odată ce am importat pachetul, iată cum putem crea cititorul de fișiere.
1. Folosind numele fișierului
FileReader input = new FileReader(String name);
Aici, am creat un cititor de fișiere care va fi legat de fișierul specificat de nume.
2. Utilizarea unui obiect al fișierului
FileReader input = new FileReader(File fileObj);
Aici, am creat un cititor de fișiere care va fi legat de fișierul specificat de obiectul fișierului.
În exemplul de mai sus, datele din fișier sunt stocate utilizând o codificare implicită a caracterelor.
Cu toate acestea, din Java 11 putem specifica și tipul de codificare a caracterelor ( UTF-8 sau UTF-16 ) în fișier.
FileReader input = new FileReader(String file, Charset cs);
Aici, am folosit Charset
clasa pentru a specifica codarea caracterelor cititorului de fișiere.
Metode de FileReader
FileReader
Clasa oferă implementări pentru diferite metode prezintă în Reader
clasă.
read () Metodă
read()
- citește un singur personaj de la cititorread(char() array)
- citește caracterele din cititor și stochează în matricea specificatăread(char() array, int start, int length)
- citește numărul de caractere egal cu lungimea de la cititor și stochează în matricea specificată începând de la începutul poziției
De exemplu, să presupunem că avem un fișier numit input.txt cu următorul conținut.
This is a line of text inside the file.
Să încercăm să citim fișierul folosind 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(); ) ) )
Ieșire
Date din fișier: Aceasta este o linie de text din interiorul fișierului.
În exemplul de mai sus, am creat un cititor de fișiere numit input. Cititorul de fișiere este legat de fișierul input.txt .
FileInputStream input = new FileInputStream("input.txt");
Pentru a citi datele din fișier, am folosit read()
metoda.
Metoda getEncoding ()
getEncoding()
Metoda poate fi utilizată pentru a obține tipul de codificare care este utilizat pentru a stoca date în fișierul. De exemplu,
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(); ) ) )
Ieșire
Codificarea caracterelor intrării1: Cp1252 Codificarea caracterelor intrării2: UTF8
În exemplul de mai sus, am creat 2 cititoare de fișiere denumite input1 și input2.
- input1 nu specifică codarea caracterelor. Prin urmare,
getEncoding()
metoda returnează codarea implicită a caracterelor. - input2 specifică codarea caracterelor, UTF8 . Prin urmare,
getEncoding()
metoda returnează codificarea caracterelor specificate.
Notă : Am folosit Charset.forName()
metoda pentru a specifica tipul de codificare a caracterelor. Pentru a afla mai multe, vizitați Java Charset (documentație oficială Java).
close () Metoda
Pentru a închide cititorul de fișiere, putem folosi close()
metoda. Odată close()
apelată metoda, nu putem folosi cititorul pentru a citi datele.
Alte metode de FileReader
Metodă | Descriere |
---|---|
ready() | verifică dacă cititorul de fișiere este gata de citire |
mark() | marcați poziția în cititorul de fișiere până la care au fost citite datele |
reset() | returnează controlul la punctul din cititor unde a fost setată marca |
Pentru a afla mai multe, vizitați Java FileReader (documentație oficială Java).