Java Dosyaya Yazma



Aşağıdaki yapıyı şöyle açıklayabiliriz:

  try
{
    //hesaplanmak istenen ifade        
}
catch            
{
    //Bir hata türü tespit edilince verilmesi gereken mesaj
}            
catch            
{
    //başka Bir hata türü tespit edilince verilmesi gereken mesaj
}            
finally
{
    //her durumda çalıştırılacak olan kod parçası
} 
try bloğu içinde hesaplanacak ifade yer alır. Bu ifadenin hesaplanmasında bir hata oluşmamışsacatch blokları atlanarak programın çalışması finally bloğu ile devam eder ve daha sonra programın bu bloğu izleyen kısmına geçilir.

try bloğu içindeki işlemde bir hata oluşmuşsacatch bloklarından hangisi bu hatayı algılayabiliyorsa o catch bloğu içine girilir ve gerekli hata mesajı yazdırılır. Daha sonra program finally bloğu ile yukarıda açıklandığı biçimde çalışmaya devam eder.

NOT: finally bloğu ne olursa olsun çalışacağından burada genellikle try bloğu içinde bellek hatalarına (memory leak gibi) ya da açık kalmış bağlantılara yol açabilecek değişkenler yok edilir.

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.*;
public class DosyaYazmaTryCatch {

 public static void main(String args[])
 {
  Scanner input=new Scanner(System.in);
  String kelime;
  System.out.println("Bir cümle giriniz...");
  kelime=input.nextLine();
  File dosya=new File("dosya.txt");//Dosya oluþturuyoruz istedigimiz isimle dosyaya
  //yazma iþelmei oldugu içiçn fileWriter oluþturuluyor.
  FileWriter dosyayaz=null;
  try {
   dosyayaz=new FileWriter(dosya, false);//iki degiþken almaktadýr.Bu degiþkenlere
   //göre oluþturulan file ve boolean bir deger verilmektedir.
   dosyayaz.write(kelime);
   System.out.println("Dosya yazma iþlemi gerçekleþtirildi.");
  } catch (Exception e) {
  
   System.out.println("Dosya hatasý : "+ e.getMessage());
  }
  finally
  {
   try{
    if(dosyayaz!=null)
    {
     dosyayaz.close();//FileWriter ile  acýlan finally içinde  close fonksiyonu ile kapatýldý.
    }
    
   }catch(Exception e)
   {
    System.out.println("Hata "+e.getMessage());
   }
   
  }
  
 }
}

Yorum Gönder

0 Yorumlar