I/O Başlangıç

Varsayılan karakter kümesi dosya G/Ç'sinden açık StandardCharsets'e

Platform varsayılan karakter kümesi davranışına ve karakter kümesi adı aramasına güvenmek yerine StandardCharsets sabitleriyle Files okuyucu ve yazıcılarını kullanın.

I/O
✕ Platform-default charset
try (Reader reader = new FileReader(path.toFile())) {
    return readAll(reader);
}
✓ Explicit standard charset
try (BufferedReader reader = Files.newBufferedReader(
        path, StandardCharsets.UTF_8)) {
    return readAll(reader);
}
Bu kodda bir sorun mu gördünüz? Bize bildirin.
🌍

Taşınabilir sonuçlar

Aynı baytlar her makinede aynı şekilde çözülür.

🔒

Önceden tanımlı sabit

StandardCharsets.UTF_8 yanlış yazılmış bir karakter kümesi adı içeremez.

🧩

Modern dosya API'si

Path, arabelleğe alma ve kodlama tek bir işlemde ifade edilir.

Eski Yaklaşım
Platform varsayılan karakter kümesi
Modern Yaklaşım
Açık standart karakter kümesi
JDK'dan itibaren
7
Zorluk
Başlangıç
Varsayılan karakter kümesi dosya G/Ç'sinden açık StandardCharsets'e
Mevcut

JDK 7'den (Temmuz 2011) itibaren geniş çapta kullanılabilir

Varsayılan karakter kümesine dayanan Reader ve Writer yapıcıları, dosya davranışını çalışma ortamına bağımlı hale getirir. Files.newBufferedReader() ve newBufferedWriter() açık bir Charset kabul ederken, StandardCharsets dize araması veya UnsupportedCharsetException olmadan UTF_8 gibi garantili sabitler sağlar.