Java FileReader (s primjerima)

U ovom uputstvu uz primjere ćemo naučiti o Java FileReaderu i njegovim metodama.

FileReaderRazred java.iopaket može se koristiti za čitanje podataka (u znakovima) iz datoteka.

Proširuje InputSreamReaderrazred.

Prije nego što naučite o FileReader, provjerite jeste li znali za Java datoteku.

Stvorite čitač datoteka

Da bismo stvorili čitač datoteka, prvo moramo uvesti java.io.FileReaderpaket. Nakon što uvozimo paket, evo kako možemo stvoriti čitač datoteka.

1. Upotreba naziva datoteke

 FileReader input = new FileReader(String name); 

Ovdje smo stvorili čitač datoteka koji će biti povezan s datotekom navedenom imenom.

2. Korištenje objekta datoteke

 FileReader input = new FileReader(File fileObj); 

Ovdje smo stvorili čitač datoteka koji će biti povezan s datotekom navedenom u objektu datoteke.

U gornjem primjeru podaci u datoteci pohranjuju se pomoću nekog zadanog kodiranja znakova.

Međutim, s obzirom na Javu 11, u datoteci možemo odrediti i vrstu kodiranja znakova ( UTF-8 ili UTF-16 ).

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

Ovdje smo Charsetklasu koristili za određivanje kodiranja znakova čitača datoteka.

Metode FileReader-a

FileReaderKlasa pruža implementacije za različite metode prezentirati u Readerrazredu.

read () metoda

  • read() - čita jedan lik iz čitača
  • read(char() array) - čita znakove iz čitača i pohranjuje u navedeni niz
  • read(char() array, int start, int length) - očitava iz čitača broj znakova jednak duljini i pohranjuje u navedeni niz počevši od početka položaja

Na primjer, pretpostavimo da imamo datoteku koja se zove input.txt sa sljedećim sadržajem.

 This is a line of text inside the file. 

Pokušajmo datoteku pročitati pomoću 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(); ) ) ) 

Izlaz

 Podaci u datoteci: Ovo je redak teksta unutar datoteke. 

U gornjem primjeru stvorili smo čitač datoteka s imenom input. Čitač datoteka povezan je s datotekom input.txt .

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

Za čitanje podataka iz datoteke koristili smo read()metodu.

getEncoding () metoda

getEncoding()Metoda se može koristiti kako bi dobili tip kodiranja koji se koristi za spremanje podataka u datoteke. Na primjer,

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

Izlaz

 Kodiranje znakova ulaza1: Cp1252 Kodiranje znakova ulaza2: UTF8 

U gornjem primjeru stvorili smo 2 čitača datoteka pod nazivom input1 i input2.

  • input1 ne navodi kodiranje znakova. Stoga getEncoding()metoda vraća zadano kodiranje znakova.
  • input2 navodi kodiranje znakova, UTF8 . Stoga getEncoding()metoda vraća navedeno kodiranje znakova.

Napomena : Charset.forName()Metodom smo odredili vrstu kodiranja znakova. Da biste saznali više, posjetite Java Charset (službena Java dokumentacija).

close () Metoda

Da bismo zatvorili čitač datoteka, možemo koristiti close()metodu. Jednom kada se close()metoda pozove, ne možemo koristiti čitač za čitanje podataka.

Ostale metode FileReader-a

Metoda Opis
ready() provjerava je li čitač datoteka spreman za čitanje
mark() označite položaj u čitaču datoteka do kojeg su podaci pročitani
reset() vraća kontrolu na točku u čitaču gdje je postavljena oznaka

Da biste saznali više, posjetite Java FileReader (službena Java dokumentacija).

Zanimljivi članci...