BufferedReader
- Java kursu
- Başlangıç
- Ders 97/116
- 5 dk
BufferedReader ile verimli okumayı öğrenirsin.
BufferedReader ile verimli okuma
BufferedReader metni büyük parçalar halinde arabelleğe alarak okur; bu yüzden çok satırlı girdide Scanner'dan daha hızlıdır. InputStreamReader ile System.in sarmalanır.
import java.io.BufferedReader;
import java.io.InputStreamReader;
BufferedReader reader =
new BufferedReader(new InputStreamReader(System.in));
String line = reader.readLine();readLine() bir satır dize olarak döndürür; dosya sonunda null verir. Bu yöntem IOException fırlatabilir, bu yüzden main imzasına throws java.io.IOException eklenir. Ayrıntısını istisna dersinde göreceksin.
System.in'i sarmala
System.in doğrudan BufferedReader olamaz; önce InputStreamReader ile sarmalanır. Bu, bayt akışını karakter akışına çevirir.
BufferedReader reader =
new BufferedReader(new InputStreamReader(System.in));
String line = reader.readLine();
System.out.println(line);İçten dışa doğru oku: önce System.in (bayt), sonra InputStreamReader (karakter), en dışta BufferedReader (arabellek). Bu üç katmanlı yapı Java girdi akışlarının temelidir.
Uygulama Satır oku ve yazdır
Bir BufferedReader oluştur (InputStreamReader ile System.in'i sarmala), readLine ile bir satır oku ve println ile yazdır. Kullanıcı Merhaba dünya yazacak. main imzasına throws java.io.IOException ekle.
Başlangıç kodu
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws java.io.IOException {
// BufferedReader oluştur, satır oku, yazdır
}
}Örnek çözüm
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String line = reader.readLine();
System.out.println(line);Beklenen çıktı
Merhaba dünya
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 BufferedReader hangi yöntemle bir satır okur?
- nextLine()
- readLine() Doğru cevap
- getLine()
- scanLine()
Açıklama: BufferedReader satır okumak için readLine() kullanır; nextLine Scanner'a aittir.
2 Aracı amacıyla eşleştir
| Kavram | Anlamı |
|---|---|
Scanner |
Kolay girdi |
BufferedReader |
Hızlı okuma |
InputStreamReader |
Akış sarmalayıcı |
readLine() |
Satır döndürür |
3 BufferedReader'i oluştur
BufferedReader reader =
new BufferedReader(new InputStreamReader(System.____));
BufferedReader reader =
new BufferedReader(new InputStreamReader(System.in));
Açıklama: System.in konsol girdisidir ve InputStreamReader ile sarmalanır.