Šajā apmācībā mēs uzzināsim par Java BufferedWriter un tā metodēm ar piemēru palīdzību.
BufferedWriter
No klases java.io
paketē var lietot kopā ar citiem rakstniekiem rakstīt datus (rakstzīmju skaitu) efektīvāk.
Tas paplašina abstrakto klasi Writer
.
BufferedWriter darbs
Tiek BufferedWriter
uzturē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.BufferedWriter
pakete. 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 BufferedWriter
nosauktu buferi ar FileWriter
nosaukto failu.
Šeit iekšējam buferim BufferedWriter
ir 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
BufferedWriter
Klase 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īvawrite(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).