CodeBlanks Logo Icon CodeBlanks

readString ve writeString

Files.readString ve writeString ile metin okuryazarlığı öğrenirsin.

readString ve writeString

Java 11+'da Files.writeString(path, text) bir dosyaya metin yazar; Files.readString(path) tüm metni tek seferde okur. Bu, küçük ve orta boy dosyalar için idealdir.

Path p = Files.createTempFile("d", ".txt");
Files.writeString(p, "Merhaba");
String s = Files.readString(p);
// s eşittir "Merhaba"

Eski BufferedReader zincirinden çok kısadır. Kodlama UTF-8 varsayılanır; farklı kodlama için StandardCharsets ile çağrılır. Büyük dosyalar için bellek tüketimine dikkat edilmelidir.

Kodlama belirtme

Varsayılan kodlama UTF-8'dir. Farklı bir kodlama gerekiyorsa Files.readString(p, StandardCharsets.ISO_8859_1) biçiminde belirtilir. Böylece farklı dillerdeki dosyalar doğru okunur.

import java.nio.charset.StandardCharsets;

String s = Files.readString(p, StandardCharsets.UTF_8);

Türkçe karakter içeren dosyalarda UTF-8 güvenlidir. Yanlış kodlama kullanılırsa karakterler bozuk görünür. Bu, uluslararası uygulamalarda yaygın bir hata kaynağıdır; dikkatli olun. Test sırasında dosyanın kodlamasını doğrulamak iyidir.

Uygulama Yaz ve oku ile metni yazdır

Bir StringDemo sınıfında main yaz; Files.createTempFile("d", ".txt") ile geçici dosya oluştur. Files.writeString(p, "Merhaba") ile metin yaz. String s = Files.readString(p) ile geri oku. System.out.println(s) ile yazdır.

Başlangıç kodu

Main.java
import java.nio.file.*;

// StringDemo sınıfında main yaz

// createTempFile ile dosya oluştur; writeString ile yaz; readString ile oku; yazdır

Örnek çözüm

Main.java
import java.nio.file.*;

class StringDemo {
    public static void main(String[] args) throws Exception {
        Path p = Files.createTempFile("d", ".txt");
        Files.writeString(p, "Merhaba");
        String s = Files.readString(p);
        System.out.println(s);
    }
}

Beklenen çıktı

Merhaba

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 readString/writeString kavramlarını eşleştir

Kavram Anlamı
writeString Metni dosyaya yazar
readString Tüm metni okur
createTempFile Geçici dosya oluşturur
Files.exists Var mı denetler

2 readString çağrısını tamamla

Soru
Path p = Files.createTempFile("d", ".txt");
Files.writeString(p, "Merhaba");
String s = Files.____(p);
Cevap
Path p = Files.createTempFile("d", ".txt");
Files.writeString(p, "Merhaba");
String s = Files.readString(p);

Açıklama: readString tüm metni tek seferde okur.

3 Files.readString hangi sürümde eklendi?

  • Java 11 Doğru cevap
  • Java 9
  • Java 10
  • Java 8

Açıklama: readString Java 11'de eklendi.

İleri seviye bölümündeki tüm dersler