Dosyalar, kalıcı veri saklamak için en temel yöntemlerden biridir. Java programlama dili, dosyalar üzerinde işlem yapmayı sağlayan güçlü API’ler sunar. Bu yazıda Java ile dosya okuma, yazma, oluşturma, silme, ve kontrol etme gibi temel dosya işlemlerini adım adım öğreneceğiz.
🧾 Java Dosya İşlemleri İçin Kullanılan Sınıflar
Java’da dosya işlemleri için sıklıkla kullanılan sınıflar şunlardır:
Sınıf | Açıklama |
---|---|
File | Dosya veya dizin oluşturma, silme, kontrol gibi işlemleri yapar. |
FileWriter | Dosyaya yazmak için kullanılır. |
FileReader | Dosyadan karakter karakter okumak için kullanılır. |
BufferedReader | Dosyayı satır satır okumak için kullanılır. |
BufferedWriter | Dosyaya satır satır yazmak için kullanılır. |
Scanner | Dosya içeriğini daha esnek okumak için kullanılır. |
1. Dosya Oluşturma
import java.io.File;
import java.io.IOException;
public class DosyaOlustur {
public static void main(String[] args) {
File dosya = new File("veri.txt");
try {
if (dosya.createNewFile()) {
System.out.println("Dosya oluşturuldu: " + dosya.getName());
} else {
System.out.println("Dosya zaten mevcut.");
}
} catch (IOException e) {
System.out.println("Hata oluştu.");
e.printStackTrace();
}
}
}
2. Dosyaya Yazma (FileWriter – BufferedWriter)
import java.io.FileWriter;
import java.io.BufferedWriter;
import java.io.IOException;
public class DosyaYaz {
public static void main(String[] args) {
try {
BufferedWriter yazici = new BufferedWriter(new FileWriter("veri.txt"));
yazici.write("Merhaba Java!\n");
yazici.write("Dosya işlemleri çok kolay.");
yazici.close();
System.out.println("Dosyaya yazıldı.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
3. Dosya Okuma (BufferedReader)
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class DosyaOku {
public static void main(String[] args) {
try {
BufferedReader okuyucu = new BufferedReader(new FileReader("veri.txt"));
String satir;
while ((satir = okuyucu.readLine()) != null) {
System.out.println(satir);
}
okuyucu.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
4. Dosya Hakkında Bilgi Alma
import java.io.File;
public class DosyaBilgi {
public static void main(String[] args) {
File dosya = new File("veri.txt");
if (dosya.exists()) {
System.out.println("Dosya adı: " + dosya.getName());
System.out.println("Dosya yolu: " + dosya.getAbsolutePath());
System.out.println("Yazılabilir mi?: " + dosya.canWrite());
System.out.println("Okunabilir mi?: " + dosya.canRead());
System.out.println("Dosya boyutu: " + dosya.length() + " byte");
} else {
System.out.println("Dosya mevcut değil.");
}
}
}
5. Dosya Silme
import java.io.File;
public class DosyaSil {
public static void main(String[] args) {
File dosya = new File("veri.txt");
if (dosya.delete()) {
System.out.println("Dosya silindi: " + dosya.getName());
} else {
System.out.println("Dosya silinemedi.");
}
}
}
💡 İpuçları ve En İyi Uygulamalar
- try-with-resources kullanımı, dosya kapamayı otomatik hale getirir.
- Dosya işlemlerinde
IOException
mutlaka yakalanmalı. BufferedReader
veBufferedWriter
büyük dosyalarla çalışırken daha performanslıdır.- Dosya yollarını tanımlarken
File.separator
kullanmak platformlar arası uyumluluğu artırır.