FileReader ve FileWriter
- Java kursu
- Orta seviye
- Ders 71/116
- 5 dk
FileReader ve FileWriter ile metin okuyup yazmayı öğrenirsin.
FileWriter ile yazma
FileWriter sınıfı karakter karakter yazma yapar. FileWriter w = new FileWriter("a.txt"); ile dosyayı yazma modunda açar; dosya yoksa oluşturur, varsa içeriğini siler. w.write("Merhaba"); ile metni yazar, w.close(); ile kaynağı kapatır.
FileWriter varsayılan olarak sistemi kodlamasını kullanır. Türkçe karakterlerin düzgün yazılması için new FileWriter("a.txt", StandardCharsets.UTF_8) tercih edilir. Yazma işleminden sonra mutlaka close() çağrılmalıdır; yoksa veri diske yazılmayabilir.
FileReader ile okuma
FileReader karakter karakter okur. FileReader r = new FileReader("a.txt"); ile dosyayı okuma modunda açar. r.read() her çağrıda bir karakterin Unicode kodunu döndürür; dosya sonuna gelindiğinde -1 döner.
Tek tek karakter okumak verimsizdir; bu yüzden genellikle BufferedReader ile sarılır. Ama küçük dosyalar için doğrudan FileReader kullanmak yeterlidir. Okuma bitince r.close() ile kapatmak şarttır.
Uygulama FileWriter ile dosyaya yaz
import java.io.FileWriter; ve import java.io.IOException; içe aktar. main içine throws IOException ekle. FileWriter w = new FileWriter("merhaba.txt"); oluştur, w.write("Merhaba dosya"); ile yaz, w.close(); ile kapat. Son olarak System.out.println("Yazıldı"); yazdır.
Başlangıç kodu
import java.io.FileWriter;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
// FileWriter oluştur, yaz, kapat
// Yazıldı yazdır
}
}Örnek çözüm
import java.io.FileWriter;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
FileWriter w = new FileWriter("merhaba.txt");
w.write("Merhaba dosya");
w.close();
System.out.println("Yazıldı");
}
}Beklenen çıktı
Yazıldı
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Yazma metodunu tamamla
FileWriter w = new FileWriter("a.txt");
w.____("Merhaba");
w.close();
FileWriter w = new FileWriter("a.txt");
w.write("Merhaba");
w.close();
Açıklama: write metodu metni dosyaya yazar.
2 FileReader.read() dosya sonunda ne döner?
- -1 Doğru cevap
- null
- 0
- Boş bir dize
Açıklama: read() dosya sonunda -1 döner; bu döngü koşulunda kullanılır.
3 Reader/Writer sınıflarını eşleştir
| Kavram | Anlamı |
|---|---|
FileWriter |
Karakter karakter yazar |
FileReader |
Karakter karakter okur |
write() |
Metni dosyaya yazar |
read() |
Bir karakterin kodunu okur |