Tässä opetusohjelmassa opitaan Java BufferedWriteristä ja sen menetelmistä esimerkkien avulla.
BufferedWriter
Luokan java.io
paketti voidaan käyttää muiden kirjoittajien kirjoittaa tiedot (merkkiä) tehokkaammin.
Se laajentaa abstraktia luokkaa Writer
.
BufferedWriter toimii
BufferedWriter
On sisäisen puskurin 8192 merkkiä .
Kirjoitusoperaation aikana merkit kirjoitetaan sisäiseen puskuriin levyn sijaan. Kun puskuri on täytetty tai kirjoitin suljettu, koko puskurissa olevat merkit kirjoitetaan levylle.
Siksi levylle tapahtuvan tiedonsiirron määrä vähenee. Siksi merkkien kirjoittaminen on nopeampaa BufferedWriter
.
Luo BufferedWriter
Paketin luomiseksi BufferedWriter
meidän on java.io.BufferedWriter
ensin tuotava paketti. Kun tuomme paketin täältä, voimme luoda puskuroidun kirjoittajan.
// Creates a FileWriter FileWriter file = new FileWriter(String name); // Creates a BufferedWriter BufferedWriter buffer = new BufferedWriter(file);
Yllä olevassa esimerkissä olemme luoneet BufferedWriter
nimetyn puskurin FileWriter
nimeltä mainitun tiedoston kanssa.
Tässä sisäisen puskurin BufferedWriter
oletusarvo on 8192 merkkiä. Voimme kuitenkin määrittää myös sisäisen puskurin koon.
// Creates a BufferedWriter with specified size internal buffer BufferedWriter buffer = new BufferedWriter(file, int size);
Puskuri auttaa kirjoittamaan merkkejä tiedostoihin tehokkaammin.
BufferedWriter-menetelmät
BufferedWriter
Luokka antaa toteutuksia eri menetelmiä läsnä Writer
.
write () -menetelmä
write()
- kirjoittaa yhden merkin kirjoittajan sisäiseen puskuriinwrite(char() array)
- kirjoittaa merkit määritetystä taulukosta kirjoittajallewrite(String data)
- kirjoittaa määritetyn merkkijonon kirjoittajalle
Esimerkki: BufferedWriter kirjoittaa tietoja tiedostoon
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(); ) ) )
Yllä olevassa esimerkissä olemme luoneet puskuroidun kirjoittajan nimeltä output yhdessä FileWriter
. Puskuroitu kirjoittaja on linkitetty output.txt- tiedostoon.
FileWriter file = new FileWriter("output.txt"); BufferedWriter output = new BufferedWriter(file);
Tietojen kirjoittamiseen tiedostoon olemme käyttäneet write()
menetelmää.
Tässä kun suoritamme ohjelmaa, output.txt- tiedosto on täytetty seuraavalla sisällöllä.
This is a line of text inside the file.
huuhtele () menetelmä
Sisäisen puskurin tyhjentämiseksi voimme käyttää flush()
menetelmää. Tämä menetelmä pakottaa kirjoittajan kirjoittamaan kaiken puskurissa olevan datan kohdetiedostoon.
Oletetaan esimerkiksi, että meillä on tyhjä tiedosto nimeltä output.txt .
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(); ) ) )
Tuotos
Tiedot huuhdellaan tiedostoon.
Kun suoritamme ohjelmaa, tiedosto output.txt täytetään tekstillä, jota merkkijonodata edustaa.
sulje () Menetelmä
Puskuroidun kirjoittajan sulkemiseksi voimme käyttää close()
menetelmää. Kun close()
menetelmä on kutsuttu, emme voi käyttää kirjoitinta tietojen kirjoittamiseen.
Muut puskuroidun kirjoittajan menetelmät
Menetelmä | Kuvaus |
---|---|
newLine() | lisää uuden rivin kirjoittajalle |
append() | lisää määritetyn merkin nykyiselle kirjoittajalle |
Lisätietoja on Java BufferedWriter -sivustossa (virallinen Java-dokumentaatio).