Java BufferedReader (példákkal)

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

A csomag BufferedReaderosztálya java.iomás olvasókkal is használható az adatok (karakterben) hatékonyabb olvasására.

Kiterjeszti az absztrakt osztályt Reader.

A BufferedReader működése

Az BufferedReaderállítja egy belső puffer 8192 karakter .

A beolvasási művelet során BufferedReaderegy darab karakter olvasható ki a lemezről és tárolódik a belső pufferben. És a belső pufferből a karakterek külön-külön olvashatók.

Ezért csökken a lemezre irányuló kommunikáció száma. Ezért gyorsabb a karakterek olvasása BufferedReader.

Hozzon létre egy BufferedReader-t

A létrehozásához először BufferedReaderimportálnunk kell a java.io.BuferedReadercsomagot. A csomag importálása után a következőképpen hozhatjuk létre az olvasót.

 // Creates a FileReader FileReader file = new FileReader(String file); // Creates a BufferedReader BufferedReader buffer = new BufferedReader(file); 

A fenti példában létrehoztunk egy BufferedReadermegnevezett puffert a FileReadermegnevezett fájllal.

Itt a belső puffer BufferedReaderalapértelmezett mérete 8192 karakter. Megadhatjuk azonban a belső puffer méretét is.

 // Creates a BufferdReader with specified size internal buffer BufferedReader buffer = new BufferedReader(file, int size); 

A puffer segít gyorsabban olvasni a karaktereket a fájlokból.

A BufferedReader módszerei

Az BufferedReaderosztály megvalósításokat biztosít a (z) Reader.

read () módszer

  • read() - egyetlen karaktert olvas le az olvasó belső pufferéből
  • 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 BufferedReader.

 import java.io.FileReader; import java.io.BufferedReader; class Main ( public static void main(String() args) ( // Creates an array of character char() array = new char(100); try ( // Creates a FileReader FileReader file = new FileReader("input.txt"); // Creates a BufferedReader BufferedReader input = new BufferedReader(file); // 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 pufferolt olvasót, amelynek neve bemenet. A pufferelt olvasó az input.txt fájlhoz van kapcsolva .

 FileReader file = new FileReader("input.txt"); BufferedReader input = new BufferedReader(file); 

Itt azt a read()módszert használtuk, hogy egy karaktertömböt olvassunk a pufferolt olvasó belső pufferéből.

skip () módszer

A megadott számú karakter elvetéséhez és kihagyásához használhatjuk a skip()módszert. Például,

 import java.io.FileReader; import java.io.BufferedReader; public class Main ( public static void main(String args()) ( // Creates an array of characters char() array = new char(100); try ( // Suppose, the input.txt file contains the following text // This is a line of text inside the file. FileReader file = new FileReader("input.txt"); // Creates a BufferedReader BufferedReader input = new BufferedReader(file); // Skips the 5 characters input.skip(5); // Reads the characters input.read(array); System.out.println("Data after skipping 5 characters:"); System.out.println(array); // closes the reader input.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) ) 

Kimenet

 Adatok 5 karakter kihagyása után: egy szövegsor a fájl belsejében. 

A fenti példában azt a skip()módszert használtuk, hogy 5 karaktert kihagyjunk a fájlolvasóból. Ezért a karakterek 'T', 'h', 'i', 's'és ' 'kimarad az eredeti fájlt.

bezár () módszer

A pufferolt olvasó 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 BufferedReader 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 az olvasó azon pozícióját, 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 BufferedReader oldalra (hivatalos Java dokumentáció).

érdekes cikkek...