Ebben az oktatóanyagban példák segítségével megismerhetjük a Java BufferedReader programot és annak módszereit.
A csomag BufferedReader
osztálya java.io
má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 BufferedReader
egy 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 BufferedReader
importálnunk kell a java.io.BuferedReader
csomagot. 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 BufferedReader
megnevezett puffert a FileReader
megnevezett fájllal.
Itt a belső puffer BufferedReader
alapé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 BufferedReader
osztály megvalósításokat biztosít a (z) Reader
.
read () módszer
read()
- egyetlen karaktert olvas le az olvasó belső pufferébőlread(char() array)
- beolvassa a karaktereket az olvasóból és eltárolja a megadott tömbbenread(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ó).