Bu eğitimde, örnekler yardımıyla Java BufferedWriter ve yöntemleri hakkında bilgi edineceğiz.
BufferedWriter
Sınıf java.io
paketinin daha verimli (karakter) veri yazmak için diğer yazarlar ile kullanılabilir.
Soyut sınıfı genişletir Writer
.
BufferedWriter'ın Çalışması
BufferedWriter
Bir 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.BufferedWriter
paketi 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 BufferedWriter
ile adlandırılmış bir tampon oluşturduk FileWriter
.
Burada, dahili arabelleğinin BufferedWriter
varsayı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
BufferedWriter
Sınıf içinde mevcut farklı yöntemler için uygulamaları Writer
.
write () Yöntem
write()
- yazarın dahili tamponuna tek bir karakter yazarwrite(char() array)
- belirtilen dizideki karakterleri yazara yazarwrite(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.