Java
PrintWriter
PrintWriter ile biçimli yazmayı öğrenirsin.
PrintWriter ile biçimli yazma
PrintWriter, System.out'a benzer biçimli yazma sağlar. PrintWriter pw = new PrintWriter("a.txt"); ile açılır; pw.println("Merhaba"), pw.printf("%d", 42) ve pw.print(...) metotları kullanılır. println satır sonu da ekler.
PrintWriter'ın autoFlush özelliği vardır: new PrintWriter("a.txt", "UTF-8") gibi kodlama da verilebilir. FileWriter'a göre daha rahat ama yine de close() çağrısı şarttır.
PrintWriter kodlama
PrintWriter'ı kodlama belirtmeden açarsan sistem kodlaması kullanılır; Türkçe karakterler farklı sistemlerde farklı sonuç verebilir. new PrintWriter("a.txt", "UTF-8") ile her zaman UTF-8 yazılımını garanti edersin.
İkinci parametre bir String'dir; charset adını taşır. Yanlış kodlama adı UnsupportedEncodingException fırlatır. Bu yüzden StandardCharsets.UTF_8 sabiti de tercih edilebilir.
Uygulama PrintWriter ile biçimli yaz
import java.io.PrintWriter; ve import java.io.IOException; içe aktar. main içine throws IOException ekle. PrintWriter pw = new PrintWriter("sayi.txt", "UTF-8"); oluştur, pw.println("Başlık"); ile bir başlık yaz, pw.printf("Sayı: %d", 42); ile biçimli yaz. pw.close(); ile kapat. Sonra System.out.println("Tamam"); yazdır.
Örnek çözümü göster
import java.io.PrintWriter;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
PrintWriter pw = new PrintWriter("sayi.txt", "UTF-8");
pw.println("Başlık");
pw.printf("Sayı: %d", 42);
pw.close();
System.out.println("Tamam");
}
}
Kendini test et
-
PrintWriter metotlarını eşleştir
- println()
- Satır sonuyla yazar
- printf()
- Biçimli yazma yapar
- print()
- Satır sonu olmadan yazar
- close()
- Kaynağı kapatır
-
Hangi PrintWriter çağrısı UTF-8 garantiler?
- new PrintWriter("a.txt")
- new PrintWriter("a.txt", true)
- new PrintWriter("a.txt", "UTF-8")
- new PrintWriter()
Cevabı göster
new PrintWriter("a.txt", "UTF-8") — İkinci parametre olarak "UTF-8" verildiğinde kodlama garanti edilir.
-
PrintWriter kapatma
PrintWriter pw = new PrintWriter("a.txt", "UTF-8");
pw.println("Merhaba");
pw.____();
Cevabı göster
PrintWriter pw = new PrintWriter("a.txt", "UTF-8");
pw.println("Merhaba");
pw.close();
Sıradaki ders: try-with-resources