İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır

Reader ve Writer'lar

Text Stream'leri

Stream'ler (InputStream ve OutputStream) byte okumak için kullanılılır. Bunları (veya bunları extend eden class'ları) kullanarak text, yani string okunabilir. Ancak bu durumda character encoding'in bu class'lara verilmesi gerekir. Çünkü 'byte' tipindeki verileri 'char' tipine dönüştürmek için encoding gereklidir. Çünkü, örneğin 'Ç' karakterinin byte olarak değeri bir dilin encoding'inde, 123 diğerinde 127 olabilir. Bunun için Reader ve Writer classları yapılmıştır. Reader'lar ve Writer'lar ortamın encoding'ini alıp byte'la char arasındaki dönüşünü otomatik olarak yaparlar. Bunlar da aslında içlerinde birer stream'e sahiptirler ama bu programcıyı ilgilendirmez.

Stream'ler için olduğu gibi Reader ve Writer'ların da buffer'lı versiyonları BufferedReader ve BufferedWriter bulunmaktadır. Performansı arttırmak için kullanılmaları faydalı olur.

Reader'lar

Character ve text tipinde data okumak için InputStream'ler yerine Reader'lar kullanılır.

Bir text dosyasını satır satır okuyup ekrana basan bir application yazalım.

Göster Gizle Kopar Satır Gizle Satır Göster
  1 import java.io.*;
  2 public class TextReader{
  3   public static void main(String[] args)
  4     throws Exception
  5   {
  6     String filename="c:\\myfolder\\myfile.ext";
  7     FileReader file=new FileReader(filename);
  8     BufferedReader in=new BufferedReader(file);
  9     String line="";
 10     String text="";
 11     while ((line = in.readLine()) != null){
 12       text+=line+"\n";
 13     }
 14     in.close();
 15     System.out.print(text);
 16         }
 17  
 18 }

Writer'lar

Character tipinde veri yazmak için Writer'lar kullanılır. Bir String'i text dosyasına yazan bir uygulama yazalım.

Göster Gizle Kopar Satır Gizle Satır Göster
  1 import java.io.*;
  2 public class TextWriter{
  3   public static void main(String[] args)
  4     throws Exception
  5   {
  6     String filename="c:\\myfolder\\myfile.ext";
  7     FileWriter file=new FileWriter(filename);
  8     PrintWriter out=new PrintWriter(file);
  9     String text="Java is a powerful programming language and platform.\n";
 10     text+="However it is still evolving and far from being perfect.\n";
 11     text+="On the other hand, no other language as promising as Java.\n";
 12     out.print(text);
 13     out.close();
 14   }
 15 }

Dosya Listesi

İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır