14.Dosya İşlemleri (File I/O) – Temel Seviye

Java logo
Java logo
image text

14. Dosya İşlemleri (File I/O) – Temel Seviye

Java programlama dilinde, dosya işlemleri (File I/O), programlarınızın kalıcı veri saklamasını ve dış kaynaklardan veri almasını sağlayan temel bir yetenektir. Bu makalede, Java’da dosya işlemlerinin temel seviyesini ele alacak, dosya oluşturma, okuma, yazma ve silme gibi temel operasyonları örnek kodlarla inceleyeceğiz.

Dosya İşlemlerine Giriş

Dosya işlemleri, programınızın harici dosyalarla etkileşim kurmasını sağlar. Bu, verilerin kalıcı olarak saklanması, yapılandırma dosyalarının okunması, günlüklerin tutulması ve daha pek çok uygulama için kritik öneme sahiptir. Java, dosya işlemleri için güçlü ve esnek bir API sunar.

Java’da dosya işlemleri genellikle java.io paketindeki sınıflar kullanılarak gerçekleştirilir. Bu paket, dosyalarla etkileşim kurmak için gerekli araçları sağlar. Temel olarak, dosyaları okumak için InputStream ve Reader sınıfları, dosyaları yazmak için ise OutputStream ve Writer sınıfları kullanılır.

Temel Dosya İşlemleri

Dosya Oluşturma

Yeni bir dosya oluşturmak için File sınıfını ve createNewFile() metodunu kullanabilirsiniz. Aşağıdaki örnek, belirtilen konumda yeni bir dosya oluşturur:

Java

import java.io.File;
import java.io.IOException;

public class DosyaOlusturma {
    public static void main(String[] args) {
        File dosya = new File("yeni_dosya.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("Bir hata oluştu.");
            e.printStackTrace();
        }
    }
}

Bu kod, “yeni_dosya.txt” adında bir dosya oluşturur. Eğer dosya zaten varsa, kullanıcıya bir mesaj gösterir. IOException yakalaması, dosya oluşturma sırasında oluşabilecek hataları ele alır.

Dosyaya Yazma

Bir dosyaya veri yazmak için FileWriter sınıfını kullanabilirsiniz. Aşağıdaki örnek, bir dosyaya metin yazar:

Java

import java.io.FileWriter;
import java.io.IOException;

public class DosyayaYazma {
    public static void main(String[] args) {
        try {
            FileWriter yazici = new FileWriter("yeni_dosya.txt");
            yazici.write("Bu bir deneme yazısıdır.\n");
            yazici.write("Java dosya işlemlerini öğreniyorum.\n");
            yazici.close();
            System.out.println("Dosyaya yazıldı.");
        } catch (IOException e) {
            System.out.println("Bir hata oluştu.");
            e.printStackTrace();
        }
    }
}

Bu kod, “yeni_dosya.txt” dosyasına iki satır metin yazar. FileWriter nesnesi, dosyaya yazma işlemini gerçekleştirir. close() metodu, dosyanın kapatılmasını ve verilerin diske yazılmasını sağlar.

Dosyadan Okuma

Bir dosyadan veri okumak için FileReader ve BufferedReader sınıflarını kullanabilirsiniz. Aşağıdaki örnek, bir dosyadan satır satır veri okur:

Java

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class DosyadanOkuma {
    public static void main(String[] args) {
        try {
            FileReader okuyucu = new FileReader("yeni_dosya.txt");
            BufferedReader bufferedOkuyucu = new BufferedReader(okuyucu);
            String satir;
            while ((satir = bufferedOkuyucu.readLine()) != null) {
                System.out.println(satir);
            }
            bufferedOkuyucu.close();
        } catch (IOException e) {
            System.out.println("Bir hata oluştu.");
            e.printStackTrace();
        }
    }
}

Bu kod, “yeni_dosya.txt” dosyasını okur ve her satırı ekrana yazdırır. BufferedReader, okuma işlemini daha verimli hale getirir. readLine() metodu, bir satırı okur ve null değer döndürene kadar okuma işlemine devam eder.

Dosya Silme

Bir dosyayı silmek için File sınıfının delete() metodunu kullanabilirsiniz. Aşağıdaki örnek, belirtilen dosyayı siler:

Java

import java.io.File;

public class DosyaSilme {
    public static void main(String[] args) {
        File dosya = new File("yeni_dosya.txt");
        if (dosya.delete()) {
            System.out.println("Dosya silindi: " + dosya.getName());
        } else {
            System.out.println("Dosya silinemedi.");
        }
    }
}

Bu kod, “yeni_dosya.txt” dosyasını siler. delete() metodu, dosya başarıyla silindiğinde true, silinemediğinde ise false döndürür.

İleri Seviye Dosya İşlemleri

Temel dosya işlemlerinin yanı sıra, Java daha karmaşık dosya işlemleri için de çeşitli sınıflar ve metotlar sunar. Örneğin, FileInputStream ve FileOutputStream sınıfları, binary dosyalarla çalışmak için kullanılır. RandomAccessFile sınıfı ise, dosyanın herhangi bir yerine rastgele erişim sağlar.

Dosya işlemlerinde performans optimizasyonu da önemlidir. Özellikle büyük dosyalarla çalışırken, buffered okuma ve yazma teknikleri kullanmak, performansı önemli ölçüde artırabilir.

Sonuç

Java’da dosya işlemleri, programlarınızın kalıcı veri saklamasını ve dış kaynaklardan veri almasını sağlayan güçlü bir mekanizmadır. Bu makalede, temel dosya işlemleri olan dosya oluşturma, okuma, yazma ve silme işlemlerini örnek kodlarla inceledik. Dosya işlemlerini doğru ve verimli bir şekilde kullanarak, programlarınızın işlevselliğini ve performansını artırabilirsiniz. java.io paketindeki sınıfları kullanarak, farklı dosya türleriyle ve farklı senaryolarla başa çıkabilirsiniz. Unutmayın ki, dosya işlemlerinde hata yönetimi de büyük önem taşır. Bu nedenle, try-catch blokları kullanarak olası hataları yakalamalı ve programınızın güvenilirliğini sağlamalısınız.

Umarım bu makale, Java’da dosya işlemlerine başlamanız için size faydalı bir başlangıç noktası sunmuştur.

İlk yorum yapan olun

Bir yanıt bırakın

E-posta hesabınız yayımlanmayacak.


*