„Java FileReader“ (su pavyzdžiais)

Šioje pamokoje su pavyzdžių pagalba sužinosime apie „Java FileReader“ ir jos metodus.

FileReaderKlasės java.iopakuotėje gali būti naudojamas skaityti duomenis (simbolių) iš failų.

Tai pratęsia InputSreamReaderklasę.

Prieš sužinodami apie FileReader, įsitikinkite, kad žinote apie „Java“ failą.

Sukurkite „FileReader“

Norėdami sukurti failų skaitytuvą, pirmiausia turime importuoti java.io.FileReaderpaketą. Kai importuosime paketą, štai kaip galime sukurti failų skaitytuvą.

1. Naudojant failo pavadinimą

 FileReader input = new FileReader(String name); 

Čia mes sukūrėme failų skaitytuvą, kuris bus susietas su vardu nurodytu failu.

2. Naudojant failo objektą

 FileReader input = new FileReader(File fileObj); 

Čia mes sukūrėme failų skaitytuvą, kuris bus susietas su failu, nurodytu failo objektu.

Ankstesniame pavyzdyje failo duomenys saugomi naudojant numatytąjį simbolių kodavimą.

Tačiau nuo „Java 11 “ faile taip pat galime nurodyti simbolių kodavimo tipą ( UTF-8 arba UTF-16 ).

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

Čia mes naudojome Charsetklasę failų skaitytuvo simbolių kodavimui nurodyti.

FileReader metodai

FileReaderKlasė suteikia realizacijos įvairių metodų pristatyti į Readerklasę.

skaityti () metodas

  • read() - skaito vieną skaitytojo personažą
  • read(char() array) - skaito simbolius iš skaitytuvo ir saugo nurodytame masyve
  • read(char() array, int start, int length) - skaito iš skaitytuvo simbolių skaičių, lygų ilgiui, ir saugo nurodytame masyve nuo pozicijos pradžios

Pvz., Tarkime, kad turime failą pavadinimu input.txt su tokiu turiniu.

 This is a line of text inside the file. 

Pabandykime perskaityti failą naudodami 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(); ) ) ) 

Rezultatas

 Duomenys faile: Tai yra teksto eilutė failo viduje. 

Ankstesniame pavyzdyje mes sukūrėme failų skaitytuvą, pavadintą įvestis. Failų skaitytuvas susietas su failu input.txt .

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

Norėdami perskaityti duomenis iš failo, mes naudojome read()metodą.

getEncoding () metodas

getEncoding()Metodas gali būti naudojamas gauti kodavimo tipą, kuris yra naudojamas saugoti duomenų faile. Pavyzdžiui,

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

Rezultatas

 „Input1“ simbolių kodavimas: Cp1252 „input2“ simbolių kodavimas: UTF8 

Ankstesniame pavyzdyje mes sukūrėme 2 failų skaitytuvą pavadinimu input1 ir input2.

  • input1 nenurodo simbolių kodavimo. Taigi getEncoding()metodas grąžina numatytąjį simbolių kodavimą.
  • input2 nurodo simbolių kodavimą UTF8 . Taigi getEncoding()metodas grąžina nurodytą simbolių kodavimą.

Pastaba : mes naudojome Charset.forName()metodą, norėdami nurodyti simbolių kodavimo tipą. Norėdami sužinoti daugiau, apsilankykite „Java Charset“ (oficiali „Java“ dokumentacija).

uždaryti () metodas

Norėdami uždaryti failų skaitytuvą, galime naudoti close()metodą. Iškvietus close()metodą, negalime naudoti skaitytuvo duomenims nuskaityti.

Kiti „FileReader“ metodai

Metodas apibūdinimas
ready() patikrina, ar failų skaitytuvas yra paruoštas skaityti
mark() pažymėkite failų skaitytuvo vietą, iki kurios duomenys buvo perskaityti
reset() grąžina valdiklį į skaitytojo tašką, kuriame buvo nustatytas ženklas

Norėdami sužinoti daugiau, apsilankykite „Java FileReader“ (oficiali „Java“ dokumentacija).

Įdomios straipsniai...