-- Java SE

BufferedWriter & BufferedReader

Daha önce anlatılan FileWriter ve FileReader sınıfları Buffered sınıflara göre daha ilkel bir sınıflardır.Buffered sınıflar tek başına değil, bu File sınıfları ile beraber kullanılır.Direk örneğe geçtim.

import java.io.*;

public class Buffered {

    public static void main(String args[]) throws IOException{

        File file = new File("bufferedtest.txt");
        FileWriter fw = new FileWriter(file);
        BufferedWriter bw = new BufferedWriter(fw);
        bw.write("www.mericberber.com");
        bw.write("\n");
        bw.write("Meriç BERBER");
        bw.newLine();

        char[] c = new char[50];
        c[0] = '1';
        c[1] = '2';
        c[2] = '3';
        c[3] = '4';
        c[4] = '5';
        c[5] = '6';

        bw.write(c); // char arrayinin hespi dosyaya yazıldı.
        bw.newLine();

        bw.write(c,2,3); // char arrayinin 2. indeksinden başlayıp 3 eleman dosyaya yazıldı.
        bw.newLine();

        String s = "Bu bir string";

        bw.write(s);
        bw.newLine();

        bw.write(s,3,7); // s Stringinin 3. indeksinden başlayıp 7 eleman dosyaya yazıldı.

        bw.flush();
        bw.close();

        FileReader fr = new FileReader(file);
        BufferedReader br = new BufferedReader(fr);

        String satir_icerigi = null;
        int satir = 1;

        while( (satir_icerigi = br.readLine()) != null){
            System.out.println("Satır " + satir +" : " + satir_icerigi);
            satir++;
        }

        System.out.println("Okuma işlemi tamamlandı.");
    }
}

Kodda dikkat edilmesi gereken ilki Buffered sınıfı constructorlarının File sınıfına ait bir nesne almasıdır.

BufferedWriter bw = new BufferedWriter(fw);
BufferedReader br = new BufferedReader(fr);

Bir diğeri ise dosyaya bw ile yazarken bir alt satıra geçmesi için “\n” kullandık.(bw.newLine() metodu da kullanılabilir,aynı işlemi görecektir.)BufferedReader sınıfı dosyayı satır satır okumak için readLine() metodu sağlar.Bu metod FileReader sınıfında yoktur.

 

void write(char[] cbuf, int off, int len)
void write(String s, int off,int len)

Bu iki metod ise bir stringin veya char dizisinin belli bir kısmını dosyaya yazmaya yarar, verilen ‘off’ indeksinden başlayıp ‘len’ sayısı kadar karakteri dosyaya yazar.

Program çıktısı şöyledir:

Satır 1 : www.mericberber.com
Satır 2 : Meriç BERBER
Satır 3 : 123456                                            
Satır 4 : 345
Satır 5 : Bu bir string
Satır 6 : bir str
Okuma işlemi tamamlandı.

 

Yorum bırak

Yorum