12 Ekim 2010 Salı

Java’da I/O İşlemleri

Java’da I/O işlemini streamler ile yaparız.

ByteStreams

8-bit’lik byteları okumak icin ByteStreams sınıfları kullanılır.Tüm ByteStream sınıfları InputStream ve OutputStream’lerden türemiştir.

Şimdi bu örnek için ilk önce istediğimiz bi yerde input.txt adında bi dosya oluşturalım.Ben C:// de oluşturdum.İçinede “Merhaba Java” yazdım.Herhangi bişey yazılabilir önemli değil.Şimdi kod üzerinden gidersek.


import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
public class IOIslemleri {
    public static void main(String[] args) throws FileNotFoundException{
        FileInputStream fis = null;
        FileOutputStream fos = null;
        try {
            fis = new FileInputStream("C://input.txt");
            fos = new FileOutputStream("C://output.txt");
            int c;
            while((c=fis.read()) != -1){
                fos.write(c);
            }
            fis.close();
            fos.close();
        } catch (Exception e) {
            System.out.println("HATA!!!"+e.getMessage());
        }
    }
}

 

import java.io.FileInputStream;              /* Gereken Classlarımızı ekledik.
import java.io.FileNotFoundException;    Zaten ne yazcağımızı biliyorsak ,NetBeans
import java.io.FileOutputStream;            otomatik olarak import ediyor. */

 

FileInputStream fis = null;     // Dosyayı okuyoruz.Burda boş değer veriyoruz.
FileOutputStream fos = null;  // Okunan dosyayı diğer dosyaya yazmak için.

 

try {
  fis = new FileInputStream("C://input.txt"); // Okucağımız dosyayı seçtik.

  fos = new FileOutputStream("C://output.txt"); //Okunan değerin yazılcağı dosya

  int c; // bytestream’de karakter karakter okuduğu için int tipinde c tanımladık.

  while((c=fis.read()) != -1){   /* c’ye fis.read() ten gelen byteları aktardık. Sonrada bu değeri != –1     diyerek tüm karakterlerin sonuna kadar okuncağını belirttik. */

     fos.write(c); // okunan veriyide dosyamıza yazdırdık.
}

 

            fis.close();  // İşlem tamamlandıktan sonra FileInputStream ‘ i kapadık.
            fos.close(); // İşlem tamamlandıktan sonra FileOutputStream ‘ i kapadık.
        } catch (Exception e) {
            System.out.println("HATA!!!"+e.getMessage());   // HATA!!! dedik ve türünü yazdırdık.
        }

 

Bu şekilde dosya okuyup yazabilceğimiz gibi istersek şu şekildede yapabiliriz.

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
public class IOIslemleri {
    public static void main(String[] args) throws FileNotFoundException{
     try{
     File okunanDosya = new File("C://input.txt");
     File yazilanDosya = new File("C://output.txt");

     FileInputStream fis = new FileInputStream(okunanDosya);
     FileOutputStream fos = new FileOutputStream(yazilanDosya);
     int c;
     while((c=fis.read()) != -1){
        fos.write(c);
        fis.close();
        fos.close();
     }
     }catch(Exception e){
        System.out.println(e.getMessage());
     }
     }
   }

Hiç yorum yok:

Yorum Gönder