Java BufferedWriter (ar piemēriem)

Šajā apmācībā mēs uzzināsim par Java BufferedWriter un tā metodēm ar piemēru palīdzību.

BufferedWriterNo klases java.iopaketē var lietot kopā ar citiem rakstniekiem rakstīt datus (rakstzīmju skaitu) efektīvāk.

Tas paplašina abstrakto klasi Writer.

BufferedWriter darbs

Tiek BufferedWriteruzturēts 8192 rakstzīmju iekšējais buferis .

Rakstīšanas laikā rakstzīmes diska vietā tiek ierakstītas iekšējā buferī. Kad buferis ir aizpildīts vai rakstītājs ir aizvērts, visas bufera rakstzīmes tiek ierakstītas diskā.

Tādējādi tiek samazināts sakaru skaits uz disku. Tāpēc rakstzīmju rakstīšana ir ātrāka BufferedWriter.

Izveidojiet BufferedWriter

Lai izveidotu a BufferedWriter, mums vispirms ir jāimportē java.io.BufferedWriterpakete. Pēc pakotnes importēšanas šeit mēs varam izveidot buferēto rakstnieku.

 // Creates a FileWriter FileWriter file = new FileWriter(String name); // Creates a BufferedWriter BufferedWriter buffer = new BufferedWriter(file); 

Iepriekš minētajā piemērā mēs esam izveidojuši BufferedWriternosauktu buferi ar FileWriternosaukto failu.

Šeit iekšējam buferim BufferedWriterir noklusējuma lielums 8192 rakstzīmes. Tomēr mēs varam norādīt arī iekšējā bufera lielumu.

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

Buferis palīdzēs efektīvāk rakstīt rakstzīmes failos.

BufferedWriter metodes

BufferedWriterKlase nodrošina implementācijas dažādām metodēm klāt Writer.

write () metode

  • write() - raksta vienu rakstzīmi rakstnieka iekšējā buferī
  • write(char() array) - raksta rakstniekam rakstzīmes no norādītā masīva
  • write(String data) - raksta rakstniekam norādīto virkni

Piemērs: BufferedWriter, lai ierakstītu datus failā

 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(); ) ) ) 

Iepriekš minētajā piemērā mēs esam izveidojuši buferētu rakstnieku ar nosaukumu output kopā ar FileWriter. Buferētais rakstnieks ir saistīts ar failu output.txt .

 FileWriter file = new FileWriter("output.txt"); BufferedWriter output = new BufferedWriter(file); 

Lai ierakstītu datus failā, mēs izmantojām write()metodi.

Šeit, palaižot programmu, fails output.txt tiek aizpildīts ar šādu saturu.

 This is a line of text inside the file. 

flush () metode

Lai notīrītu iekšējo buferi, mēs varam izmantot flush()metodi. Šī metode liek rakstniekam visus buferī esošos datus ierakstīt mērķa failā.

Piemēram, pieņemsim, ka mums ir tukšs fails ar nosaukumu 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(); ) ) ) 

Rezultāts

 Dati tiek izdzēsti failā. 

Palaižot programmu, fails output.txt tiek aizpildīts ar tekstu, ko attēlo virknes dati.

aizvērt () metode

Lai aizvērtu buferēto rakstnieku, mēs varam izmantot close()metodi. Kad close()metode ir izsaukta, mēs nevaram izmantot rakstītāju datu rakstīšanai.

Citas BufferedWriter metodes

Metode Apraksts
newLine() ievieto rakstniekam jaunu rindu
append() ievieto norādīto rakstzīmi pašreizējam rakstītājam

Lai uzzinātu vairāk, apmeklējiet Java BufferedWriter (oficiālā Java dokumentācija).

Interesanti raksti...