Java FileReader (példákkal)

Ebben az oktatóanyagban példák segítségével megismerhetjük a Java FileReadert és annak módszereit.

A csomag FileReaderosztálya java.iofelhasználható fájlok adatainak (karakterben) kiolvasására.

Ez kiterjeszti az InputSreamReaderosztályt.

Mielőtt megismerné FileReader, győződjön meg róla, hogy tud a Java fájlról.

Hozzon létre egy FileReader-t

Fájlolvasó létrehozásához java.io.FileReaderelőször importálnunk kell a csomagot. A csomag importálása után a következőképpen hozhatjuk létre a fájlolvasót.

1. A fájl nevének használata

 FileReader input = new FileReader(String name); 

Itt létrehoztunk egy fájlolvasót, amely összekapcsolódik a név által megadott fájlval.

2. A fájl objektumának használata

 FileReader input = new FileReader(File fileObj); 

Itt hoztunk létre egy fájlolvasót, amely összekapcsolódik a fájl objektuma által megadott fájllal.

A fenti példában a fájl adatait valamilyen alapértelmezett karakterkódolással tároljuk.

A Java 11 óta azonban megadhatjuk a karakterkódolás típusát ( UTF-8 vagy UTF-16 ) a fájlban is.

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

Itt az Charsetosztály segítségével határoztuk meg a fájlolvasó karakterkódolását.

A FileReader módszerei

Az FileReaderosztály megvalósításokat biztosít az Readerosztályban jelen lévő különböző módszerek számára .

read () módszer

  • read() - egyetlen karaktert olvas fel az olvasó
  • read(char() array) - beolvassa a karaktereket az olvasóból és eltárolja a megadott tömbben
  • read(char() array, int start, int length) - beolvassa az olvasóból a hosszúsággal megegyező karakterek számát, és a pozíciótól kezdve a megadott tömbben tárolja

Tegyük fel például, hogy van egy input.txt nevű fájl a következő tartalommal.

 This is a line of text inside the file. 

Próbáljuk meg elolvasni a fájlt a 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(); ) ) ) 

Kimenet

 Adatok a fájlban: Ez egy szövegsor a fájl belsejében. 

A fenti példában létrehoztunk egy input olvasó fájlolvasót. A fájlolvasó össze van kapcsolva az input.txt fájllal .

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

A fájl adatainak kiolvasásához a read()módszert használtuk .

getEncoding () metódus

A getEncoding()módszer felhasználható az adatok fájlba történő tárolásához használt kódolás típusának megszerzésére. Például,

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

Kimenet

 Az input1 karakterkódolása: Cp1252 Az input2 karakterkódolása: UTF8 

A fenti példában létrehoztunk 2 input1 és input2 nevű fájlolvasót.

  • Az input1 nem adja meg a karakterkódolást. Ezért a getEncoding()metódus az alapértelmezett karakterkódolást adja vissza.
  • Az input2 adja meg az UTF8 karakterkódolást . Ezért a getEncoding()metódus visszaadja a megadott karakterkódolást.

Megjegyzés : A Charset.forName()karakterkódolás típusának meghatározásához a módszert használtuk . További információkért látogasson el a Java Charset (hivatalos Java dokumentáció) oldalra.

bezár () módszer

A fájlolvasó bezárásához használhatjuk a close()módszert. A close()módszer meghívása után nem használhatjuk az olvasót az adatok kiolvasására.

A FileReader egyéb módszerei

Módszer Leírás
ready() ellenőrzi, hogy a fájlolvasó készen áll-e az olvasásra
mark() jelölje meg a fájlolvasóban azt a helyet, amelyre az adatokat beolvasták
reset() a vezérlőt az olvasó azon pontjához adja vissza, ahol a jelölést beállították

További információkért látogasson el a Java FileReader (hivatalos Java dokumentáció) oldalra.

érdekes cikkek...