Java BufferedWriter (Örneklerle)

Bu eğitimde, örnekler yardımıyla Java BufferedWriter ve yöntemleri hakkında bilgi edineceğiz.

BufferedWriterSınıf java.iopaketinin daha verimli (karakter) veri yazmak için diğer yazarlar ile kullanılabilir.

Soyut sınıfı genişletir Writer.

BufferedWriter'ın Çalışması

BufferedWriterBir iç tutar 8192 karakter tampon .

Yazma işlemi sırasında karakterler disk yerine dahili tampona yazılır. Arabellek doldurulduğunda veya yazıcı kapatıldığında, arabellekteki tüm karakterler diske yazılır.

Böylelikle diskle iletişim sayısı azalır. Bu yüzden karakter yazmak daha hızlıdır BufferedWriter.

BufferedWriter Oluşturun

Bir oluşturmak için BufferedWriterönce java.io.BufferedWriterpaketi içe aktarmalıyız . Paketi buraya aktardıktan sonra, tamponlu yazıcıyı nasıl oluşturabiliriz.

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

Yukarıdaki örnekte, adlandırılmış dosya BufferedWriterile adlandırılmış bir tampon oluşturduk FileWriter.

Burada, dahili arabelleğinin BufferedWritervarsayılan boyutu 8192 karakterdir. Bununla birlikte, dahili tamponun boyutunu da belirleyebiliriz.

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

Arabellek, karakterleri dosyalara daha verimli bir şekilde yazmaya yardımcı olacaktır.

BufferedWriter Yöntemleri

BufferedWriterSınıf içinde mevcut farklı yöntemler için uygulamaları Writer.

write () Yöntem

  • write() - yazarın dahili tamponuna tek bir karakter yazar
  • write(char() array) - belirtilen dizideki karakterleri yazara yazar
  • write(String data) - belirtilen dizeyi yazara yazar

Örnek: BufferedWriter bir Dosyaya veri yazmak için

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

Yukarıdaki örnekte, ile birlikte output adında tamponlu bir yazıcı oluşturduk FileWriter. Arabelleğe alınan yazıcı, output.txt dosyasıyla bağlantılıdır .

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

Dosyaya veri yazmak için write()yöntemi kullandık .

Burada programı çalıştırdığımızda output.txt dosyası aşağıdaki içerikle doldurulur.

 This is a line of text inside the file. 

flush () Yöntem

Dahili tamponu temizlemek için flush()yöntemi kullanabiliriz . Bu yöntem, yazarı arabellekte bulunan tüm verileri hedef dosyaya yazmaya zorlar.

Örneğin, output.txt adında boş bir dosyamız olduğunu varsayalım .

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

Çıktı

 Veriler dosyaya boşaltılır. 

Programı çalıştırdığımızda, output.txt dosyası dize verilerinin temsil ettiği metinle doldurulur.

close () Yöntem

Tamponlu yazıcıyı kapatmak için close()yöntemi kullanabiliriz . close()Yöntem çağrıldıktan sonra, verileri yazmak için yazıcıyı kullanamayız.

BufferedWriter'ın Diğer Yöntemleri

Yöntem Açıklama
newLine() yazara yeni bir satır ekler
append() belirtilen karakteri geçerli yazara ekler

Daha fazla bilgi edinmek için Java BufferedWriter'ı (resmi Java belgeleri) ziyaret edin.

Ilginç makaleler...