Sponsor Reklam 


02.12.2008 (04:25)

 Dosyadan Satır Okuyup Dosyaya Satır Yazdırmak 
Daha önce dosyadan karakter karakter okuma yapmayı burada ve dosyaya yazmayı şurada görümüştük. Her karakter için IO kesmeleri (input/output interrupt) göndermek yerine satırı bir seferde okumak ve yazmak, işlemi daha hızlı yapabilmemizi sağlar.

Şu örnek ile satır satır okumayı ve yazmayı gerçekleyelim:

package kodcu.net;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.FileNotFoundException;
import java.io.IOException;

public class Main {

  public static void main(String[] args) {

    try {
      File file = new File("C://kodcu.txt");
      File file2 = new File("C://kodcu2.txt");
      FileInputStream fis = new FileInputStream(file);
      FileOutputStream fos = new FileOutputStream(file2);
      BufferedReader br = new BufferedReader(new InputStreamReader(fis));
      BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos));
      String satir;
      while ((satir = br.readLine()) != null) {
        // okudugumuz satiri buffered writer'a yazalim
        bw.write(satir);
        // yeni satir olusturalim
        bw.newLine();
      }
      // buffered writer'daki bilgileri cikti akisina gonderelim
      // ve buffered writer'i temizleyelim
      bw.flush ();
      bw.close ();
      br.close ();
      fis.close();
      fos.close();
    }
    catch (FileNotFoundException fnfe) {
      // Dosya bulunamadi
    }
    catch (IOException ioe) {
      // okuma/yazma hatasi
    }
  }

}

kodcu.txt dosyasından readLine() metodu ile okunan her satır, kodcu2.txt dosyasına yazılmaktadır. write() metodu satırı yazarken yeni satıra geçme işlemi newLine() metodu ile yapılmaktadır. Buradaki önemli nokta okunan dosyanın en sonunda yeni satır (new line) yapılıp yapılmamış olmasıdır. Eğer yapılmışsa kopyalama birebir aynıdır fakat yapılmamışsa okuma işlemi dosya sonu karakteri (EOF - end of file) nedeni ile tamamlanacak ama yazdırmada dosya sonu karakterinden önce yeni satır karakteri eklenecektir. Yani yazdırılan dosyada fazladan bir yeni satırımız oluşacaktır.
Imza: admin








Yazilar kaynak gosterilmeden kopyalanamaz © www.kodcu.net // Twitter