U ovom uputstvu uz primjere ćemo naučiti o Java FileReaderu i njegovim metodama.
FileReader
Razred java.io
paket može se koristiti za čitanje podataka (u znakovima) iz datoteka.
Proširuje InputSreamReader
razred.
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.FileReader
paket. 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 Charset
klasu koristili za određivanje kodiranja znakova čitača datoteka.
Metode FileReader-a
FileReader
Klasa pruža implementacije za različite metode prezentirati u Reader
razredu.
read () metoda
read()
- čita jedan lik iz čitačaread(char() array)
- čita znakove iz čitača i pohranjuje u navedeni nizread(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).