Java FileReader (koos näidetega)

Selles õpetuses õpime näidete abil Java FileReaderit ja selle meetodeid.

FileReaderKlassi java.iopakett saab kasutada andmete lugemiseks (märki) failidest.

See pikendab InputSreamReaderklassi.

Enne kui saate teada FileReader, veenduge, et teaksite Java-faili.

Looge FileReader

Faililugeja loomiseks peame java.io.FileReaderesmalt paketi importima . Kui pakett on imporditud, saate faililugeja luua järgmiselt.

1. Kasutades faili nime

 FileReader input = new FileReader(String name); 

Siin oleme loonud faililugeja, mis on lingitud nimega määratud failiga.

2. Faili objekti kasutamine

 FileReader input = new FileReader(File fileObj); 

Siin oleme loonud faililugeja, mis on seotud faili objektiga määratud failiga.

Ülaltoodud näites salvestatakse failis olevad andmed mõne vaikimisi märgikodeeringu abil.

Kuid alates Java 11-st saame failis määrata ka märkide kodeerimise tüübi ( UTF-8 või UTF-16 ).

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

Siin oleme Charsetklassi kasutanud faililugeja märgikodeeringu täpsustamiseks.

FileReaderi meetodid

FileReaderTasemega näeb implementation erinevaid meetodeid sisalduse funktsioon Readertasemega.

loe () meetod

  • read() - loeb lugejast välja ühe tegelase
  • read(char() array) - loeb tähemärke lugejast ja salvestab määratud massiivi
  • read(char() array, int start, int length) - loeb lugejalt pikkusega võrdse tähemärkide arvu ja salvestab määratud massiivi alates positsiooni algusest

Oletame näiteks, et meil on järgmise sisuga fail nimega input.txt .

 This is a line of text inside the file. 

Proovime faili lugeda 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(); ) ) ) 

Väljund

 Andmed failis: see on failirea tekstirida. 

Ülaltoodud näites oleme loonud faililugeja nimega sisend. Faililugeja on lingitud failiga input.txt .

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

Failist andmete lugemiseks oleme kasutanud read()meetodit.

getEncoding () meetod

getEncoding()Meetodit saab kasutada, et saada kodeerimistüüp, mida kasutatakse andmete salvestamiseks faili. Näiteks,

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

Väljund

 Sisendi1: Cp1252 märkide kodeering: sisendi2: UTF8 märkide kodeerimine 

Ülaltoodud näites oleme loonud 2 faililugejat nimega input1 ja input2.

  • input1 ei määra märkide kodeerimist. Seega getEncoding()tagastab meetod vaikimisi märgikodeeringu.
  • input2 määrab tähemärgi kodeerimise UTF8 . Seega getEncoding()tagastab meetod määratud märgikodeeringu.

Märkus . Me kasutasime Charset.forName()meetodit märkide kodeerimise tüübi määramiseks. Lisateabe saamiseks külastage Java Charset (ametlik Java dokumentatsioon).

close () meetod

Faililugeja sulgemiseks saame kasutada close()meetodit. Kui close()meetod on välja kutsutud, ei saa me andmete lugemiseks kasutada lugejat.

Muud FileReaderi meetodid

Meetod Kirjeldus
ready() kontrollib, kas faililugeja on lugemiseks valmis
mark() märkige faililugeja asukoht, kuhu andmed on loetud
reset() tagastab juhtnupu lugeris punkti, kuhu märk pandi

Lisateabe saamiseks külastage Java FileReaderi (ametlik Java dokumentatsioon).

Huvitavad Artiklid...