Java FileReader (z primeri)

V tej vadnici bomo s pomočjo primerov spoznali Java FileReader in njegove metode.

FileReaderRazred java.iopaket se lahko uporablja za branje podatkov (v znakih) iz datotek.

Razširja InputSreamReaderrazred.

Preden se naučite FileReader, preverite, ali poznate datoteko Java.

Ustvarite FileReader

Če želimo ustvariti bralnik datotek, moramo najprej uvoziti java.io.FileReaderpaket. Ko uvozimo paket, tukaj je opisano, kako lahko ustvarimo bralnik datotek.

1. Uporaba imena datoteke

 FileReader input = new FileReader(String name); 

Tu smo ustvarili bralnik datotek, ki bo povezan z datoteko, določeno z imenom.

2. Uporaba predmeta datoteke

 FileReader input = new FileReader(File fileObj); 

Tu smo ustvarili bralnik datotek, ki bo povezan z datoteko, ki jo določa predmet datoteke.

V zgornjem primeru se podatki v datoteki shranijo s privzetim kodiranjem znakov.

Od Java 11 pa lahko v datoteki določimo tudi vrsto kodiranja znakov ( UTF-8 ali UTF-16 ).

 FileReader input = new FileReader(String file, Charset cs); 

Tu smo uporabili Charsetrazred za določanje kodiranja znakov bralnika datotek.

Metode FileReader

FileReaderRazred določa izvedb za različne načine predstaviti v Readerrazredu.

metoda read ()

  • read() - od bralca prebere en sam znak
  • read(char() array) - prebere znake iz bralnika in jih shrani v določeno polje
  • read(char() array, int start, int length) - iz bralnika prebere število znakov, enako dolžini, in shrani v določeno matriko, začenši od začetka položaja

Denimo, da imamo datoteko z imenom input.txt z naslednjo vsebino.

 This is a line of text inside the file. 

Poskusimo datoteko prebrati z 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(); ) ) ) 

Izhod

 Podatki v datoteki: To je vrstica besedila znotraj datoteke. 

V zgornjem primeru smo ustvarili bralnik datotek z imenom input. Bralnik datotek je povezan z datoteko input.txt .

 FileInputStream input = new FileInputStream("input.txt"); 

Za branje podatkov iz datoteke smo uporabili read()metodo.

metoda getEncoding ()

Z getEncoding()metodo lahko dobite vrsto kodiranja, ki se uporablja za shranjevanje podatkov v datoteki. Na primer

 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(); ) ) ) 

Izhod

 Kodiranje znakov vhoda1: Cp1252 Kodiranje znakov vnosa2: UTF8 

V zgornjem primeru smo ustvarili 2 bralnika datotek z imenom input1 in input2.

  • input1 ne določa kodiranja znakov. Zato getEncoding()metoda vrne privzeto kodiranje znakov.
  • input2 določa kodiranje znakov, UTF8 . Zato getEncoding()metoda vrne določeno kodiranje znakov.

Opomba : Z Charset.forName()metodo smo določili vrsto kodiranja znakov. Če želite izvedeti več, obiščite Java Charset (uradna dokumentacija Java).

metoda close ()

Za zapiranje bralnika datotek lahko uporabimo close()metodo. Ko je close()metoda enkrat poklicana, ne moremo uporabljati bralnika za branje podatkov.

Druge metode FileReaderja

Metoda Opis
ready() preveri, ali je bralnik datotek pripravljen za branje
mark() označite položaj v bralniku datotek, do katerega so bili prebrani podatki
reset() vrne kontrolnik do točke v čitalniku, kjer je bila nastavljena oznaka

Če želite izvedeti več, obiščite Java FileReader (uradna dokumentacija Java).

Zanimive Članki...