Java BufferedWriter (esimerkkejä)

Tässä opetusohjelmassa opitaan Java BufferedWriteristä ja sen menetelmistä esimerkkien avulla.

BufferedWriterLuokan java.iopaketti voidaan käyttää muiden kirjoittajien kirjoittaa tiedot (merkkiä) tehokkaammin.

Se laajentaa abstraktia luokkaa Writer.

BufferedWriter toimii

BufferedWriterOn 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 BufferedWritermeidän on java.io.BufferedWriterensin 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 BufferedWriternimetyn puskurin FileWriternimeltä mainitun tiedoston kanssa.

Tässä sisäisen puskurin BufferedWriteroletusarvo 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

BufferedWriterLuokka antaa toteutuksia eri menetelmiä läsnä Writer.

write () -menetelmä

  • write() - kirjoittaa yhden merkin kirjoittajan sisäiseen puskuriin
  • write(char() array) - kirjoittaa merkit määritetystä taulukosta kirjoittajalle
  • write(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).

Mielenkiintoisia artikkeleita...