Java'da disk üzerindeki dosyalar ve klasörlerle iletişim sağlamak için File sınıfından faydalanırız. File sınıfı disk üzerinde belirtilen konumdaki bir dosya ya da klasörü kod içerisinden tanımlamak için kullanılır. Yukarıdaki kod parçasına bakarsak File sınıfının yapıcısı (Constructor) içerisinde dosyanın adı dosya.txt olarak belirtilmiş. Bu şekilde disk üzerinde dosya.txt adında bir dosyaya işlem yapmak için o dosyayı bir değişkene atamış oluyoruz. exists metodu dosyanın disk üzerinde önceden var olduğunu kontrol etmek için kullanılıyor. Eğer dosya diskte henüz yoksa createNewFile ile diskte dosya.txt adında bir dosya oluşturuyoruz.
Dosyaya metin yazma işlemini başlatmak için FileWriter sınıfından faydalanırız. FileWriter sınıfı File tipindeki bir değişkeni yazma amacıyla kullanmaya yarar. Yapıcı içerisinde yer alan boolean tipindeki değer dosyanın append modunda yazılmasını sağlar. append modu dosyanın içerisinde yer alan mevcut metinlere dokunmadan dosyanın son karakterinden itibaren yazma işlemini başlatacaktır. Yukarıdaki kod içerisinde bu değer false olduğundan dosya.txt her seferinde baştan yazılacaktır.
BufferedWriter sınıfı ise dosyaya bir kayıt yazarken bize ayarlanabilir bir tampon bellek (Buffer) sunacaktır. Bu işlem olmadan yazma işlemi yapılması karakterlerin anında byte'a dönüştürülüp dosyaya yazılmasına yol açacak ve programın verimsiz çalışmasına yol açacaktır.
write metodu yazma işlemini başlatır. Dosyaya yazma işlemimiz tamamlandıktan sonra close komutuyla dosya ile olan işlemi tamamlarız ve diskte metin dosyamız oluşur.
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.*;
public class DosyayaYazma {
public static void main(String[] args) throws IOException
{
Scanner input=new Scanner(System.in);
String ogradi,ogrsoyad,ogrno;
System.out.println("Kaç adet ögrenciyi dosyaya kayit etmek istiyorsunuz.");
int adet=input.nextInt();
int i=0;
File dosya=new File("kayit.txt");//Burda dosya olusturulmaktadir.
if(!dosya.exists())//Burda ise dosyanýn açýlýp açýlmadýgý kontrol edilmektedir.
{
System.out.println("Dosya açýlamamýþtýr");
dosya.createNewFile();
}
FileWriter yaz=new FileWriter(dosya,false);
//Burda ise dosyaya yazmak için nesneler oluþturuldu.Buffred ile dosyayý yazýlcak alan oluþturuldu.
BufferedWriter dosyayaz=new BufferedWriter(yaz);
for(i=0;i<adet;i++)
{
System.out.println("Ögrenci adini girniz..");
ogradý=input.next();
System.out.println("Ögrenci soyadini giriniz..");
ogrsoyad=input.next();
System.out.println("Ögrenci numarasini giriniz..");
ogrno=input.next();
dosyayaz.write(" "+ogrno+ " "+ogradi+" "+ogrsoyad+"\n");
}
System.out.println("Dosyaya kayýt edilmiþtir!!");
dosyayaz.close();
}
}
0 Yorumlar
Bizimle fikirlerinizi paylaşabilirsiniz.