5 Eylül 2017 Salı

BufferedReader Sınıfı

Giriş
Şu satırı dahil ederiz.
import java.io.BufferedReader;
Bu sınıfı her zaman try içinde kullanmak gerekir.
try(BufferedReader br = new BufferedReader(new FileReader("D:\\MyTasks.txt"));
   ){
  ...
}
catch(IOException e){...}
constructor - reader
Varsayılan bellek büyüklüğü 8192 byte büyüklüğünde. Açıklaması şöyle.
The buffer size may be specified, or the default size may be used. The default is large enough for most purposes.
InputStreamReader
Şöyle yaparız.
BufferedReader br = = new BufferedReader(new InputStreamReader(System.in));
FileReader
Şöyle yaparız.
File inFile = new File("books.txt");
BufferedReader br = new BufferedReader(new FileReader(inFile));
Şöyle yaparız.
BufferedReader read = new BufferedReader(new FileReader("CourseSample.txt"));
constructor - buffer size
İmzası şöyle
BufferedReader(Reader in, int sz)
Şöyle yaparız.
InputStream is = ...;
BufferedReader br = new BufferedReader(new InputStreamReader(
                    is, "UTF-8"), 8);
lines metodu - Java 8
Stream<String> döner Stream'ler ile kullanabilmemizi sağlar.  Stream yöntemi ile daha az bellek kullanabiliriz.

Tüm satırları almak için şöyle yaparız.
List<String> lines = br.lines().collect(Collectors.toList());
Satırı filtreleyerek bulmak için şöyle yaparız.
String line = br.lines().filter(s -> s.startsWith(str)).findFirst().get();
Satırları tek tek dolaşmak için şöyle yaparız.
try (BufferedReader reader = new BufferedReader(...)) {
  boolean hasError = false;
  boolean hasInsufficentPermission = false;
  reader.lines().map(String::toLowerCase).forEach(line-> {
    if(line.contains("error code: 2568")) hasError = true;
    if(line.contains("insufficient...")) hasInsufficentPermission = true;
  });
  ...
}
read metodu
Şöyle yaparız. İşlemde hata varsa -1 döner.
int value;
if ((value = reader.read()) != -1) {...}
readLine metodu
Şöyle yaparız.
String line = null;
while ((line = br.readLine()) != null) {...}
ready metodu
Örnek ver

Hiç yorum yok:

Yorum Gönder