Java BufferedReader (Örneklerle)

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

BufferedReaderSınıf java.iopaketinin daha verimli (karakter) veri okumak için diğer okuyucular ile kullanılabilir.

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

BufferedReader'ın Çalışması

BufferedReaderBir iç tutar 8192 karakter tampon .

Okuma işlemi sırasında, BufferedReaderdiskten bir yığın karakter okunur ve dahili tamponda saklanır. Ve dahili tampondan karakterler ayrı ayrı okunur.

Böylelikle diskle iletişim sayısı azalır. Bu yüzden karakterleri okumak daha hızlıdır BufferedReader.

Tamponlu Okuyucu Oluşturun

Bir oluşturmak için BufferedReaderönce java.io.BuferedReaderpaketi içe aktarmalıyız . Paketi içe aktardıktan sonra, işte okuyucuyu nasıl oluşturabiliriz.

 // Creates a FileReader FileReader file = new FileReader(String file); // Creates a BufferedReader BufferedReader buffer = new BufferedReader(file); 

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

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

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

Arabellek, dosyalardaki karakterleri daha hızlı okumaya yardımcı olacaktır.

BufferedReader Yöntemleri

BufferedReaderSınıf içinde mevcut farklı yöntemler için uygulamaları Reader.

read () Yöntem

  • read() - okuyucunun dahili tamponundan tek bir karakter okur
  • read(char() array) - okuyucudan karakterleri okur ve belirtilen dizide depolar
  • read(char() array, int start, int length) - okuyucudan uzunluğa eşit sayıda karakter okur ve konum başlangıcından başlayarak belirtilen dizide depolar

Örneğin , aşağıdaki içeriğe sahip input.txt adlı bir dosyamız olduğunu varsayalım .

 This is a line of text inside the file. 

Dosyayı kullanarak okumaya çalışalım BufferedReader.

 import java.io.FileReader; import java.io.BufferedReader; class Main ( public static void main(String() args) ( // Creates an array of character char() array = new char(100); try ( // Creates a FileReader FileReader file = new FileReader("input.txt"); // Creates a BufferedReader BufferedReader input = new BufferedReader(file); // Reads characters input.read(array); System.out.println("Data in the file: "); System.out.println(array); // Closes the reader input.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Çıktı

 Dosyadaki veriler: Bu, dosyanın içindeki bir metin satırıdır. 

Yukarıdaki örnekte, input adında tamponlu bir okuyucu oluşturduk. Arabelleğe alınan okuyucu, input.txt dosyasıyla bağlantılıdır .

 FileReader file = new FileReader("input.txt"); BufferedReader input = new BufferedReader(file); 

Burada, read()tamponlu okuyucunun dahili tamponundan bir karakter dizisini okumak için yöntemi kullandık .

skip () Yöntemi

Belirtilen sayıda karakteri atmak ve atlamak için skip()yöntemi kullanabiliriz . Örneğin,

 import java.io.FileReader; import java.io.BufferedReader; public class Main ( public static void main(String args()) ( // Creates an array of characters char() array = new char(100); try ( // Suppose, the input.txt file contains the following text // This is a line of text inside the file. FileReader file = new FileReader("input.txt"); // Creates a BufferedReader BufferedReader input = new BufferedReader(file); // Skips the 5 characters input.skip(5); // Reads the characters input.read(array); System.out.println("Data after skipping 5 characters:"); System.out.println(array); // closes the reader input.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) ) 

Çıktı

 5 karakter atlandıktan sonraki veriler: dosyanın içindeki bir metin satırıdır. 

Yukarıdaki örnekte, skip()dosya okuyucudan 5 karakter atlamak için yöntemi kullandık . Dolayısıyla, karakterler 'T', 'h', 'i', 's've ' 'orijinal dosyadan atlanır.

close () Yöntem

Tamponlu okuyucuyu kapatmak için close()yöntemi kullanabiliriz . Bir kez close()yöntemi olarak adlandırılır, veriler okuma okuyucu kullanamaz.

Diğer Tamponlu Okuyucu Yöntemleri

Yöntem Açıklama
ready() dosya okuyucunun okunmaya hazır olup olmadığını kontrol eder
mark() okuyucudaki verilerin okunduğu konumu işaretleyin
reset() kontrolü, okuyucuda işaretin ayarlandığı noktaya döndürür

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

Ilginç makaleler...