Ebben az oktatóanyagban példák segítségével megismerhetjük a Java BufferedWritert és annak módszereit.
A csomag BufferedWriter
osztálya java.io
felhasználható más írókkal az adatok hatékonyabb írásához (karakterben).
Kiterjeszti az absztrakt osztályt Writer
.
A BufferedWriter működése
Az BufferedWriter
állítja egy belső puffer 8192 karakter .
Az írási művelet során a karaktereket a belső pufferbe írják a lemez helyett. Miután a puffer megtelt, vagy az író bezárult, a puffer teljes karakterei a lemezre kerülnek.
Ezért csökken a lemezre irányuló kommunikáció száma. Ezért gyorsabb a karakterek használata BufferedWriter
.
Hozzon létre egy BufferedWritert
A létrehozásához először BufferedWriter
importálnunk kell a java.io.BufferedWriter
csomagot. A csomag importálása után itt hozhatjuk létre a pufferolt írót.
// Creates a FileWriter FileWriter file = new FileWriter(String name); // Creates a BufferedWriter BufferedWriter buffer = new BufferedWriter(file);
A fenti példában létrehoztunk egy BufferedWriter
megnevezett puffert a FileWriter
megnevezett fájllal.
Itt a belső puffer BufferedWriter
alapértelmezett mérete 8192 karakter. Megadhatjuk azonban a belső puffer méretét is.
// Creates a BufferedWriter with specified size internal buffer BufferedWriter buffer = new BufferedWriter(file, int size);
A puffer segít hatékonyabban írni a karaktereket a fájlokba.
A BufferedWriter módszerei
Az BufferedWriter
osztály megvalósításokat biztosít a (z) Writer
.
write () módszer
write()
- egyetlen karaktert ír az író belső pufferjébewrite(char() array)
- írja a karaktereket a megadott tömbből az írónakwrite(String data)
- írja a megadott karakterláncot az írónak
Példa: BufferedWriter adatok fájlba írására
import java.io.FileWriter; import java.io.BufferedWriter; public class Main ( public static void main(String args()) ( String data = "This is the data in the output file"; try ( // Creates a FileWriter FileWriter file = new FileWriter("output.txt"); // Creates a BufferedWriter BufferedWriter output = new BufferedWriter(file); // Writes the string to the file output.write(data); // Closes the writer output.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) )
A fenti példában létrehoztunk egy kimenet nevű, pufferelt írót a FileWriter
. A pufferolt író az output.txt fájlhoz van kapcsolva .
FileWriter file = new FileWriter("output.txt"); BufferedWriter output = new BufferedWriter(file);
Adatok írására a fájlba a write()
módszert használtuk .
Itt, amikor futtatjuk a programot, az output.txt fájl a következő tartalommal töltődik fel.
This is a line of text inside the file.
flush () módszer
A belső puffer törléséhez használhatjuk a flush()
módszert. Ez a módszer arra kényszeríti az írót, hogy a pufferben lévő összes adatot a célfájlba írja.
Tegyük fel például, hogy van egy üres fájlunk, az output.txt nevű .
import java.io.FileWriter; import java.io.BufferedWriter; public class Main ( public static void main(String() args) ( String data = "This is a demo of the flush method"; try ( // Creates a FileWriter FileWriter file = new FileWriter(" flush.txt"); // Creates a BufferedWriter BufferedWriter output = new BufferedWriter(file); // Writes data to the file output.write(data); // Flushes data to the destination output.flush(); System.out.println("Data is flushed to the file."); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Kimenet
Az adatok a fájlba kerülnek.
A program futtatásakor az output.txt fájl kitöltődik a karakterlánc adatok által képviselt szöveggel.
bezár () módszer
A pufferolt író bezárásához használhatjuk a close()
módszert. Miután close()
meghívta a módszert, nem használhatjuk az írót az adatok megírásához.
A BufferedWriter egyéb módszerei
Módszer | Leírás |
---|---|
newLine() | új sort illeszt az író elé |
append() | beszúrja a megadott karaktert az aktuális íróba |
További információkért látogasson el a Java BufferedWriter oldalra (hivatalos Java dokumentáció).