Java PrintWriter (Örneklerle)

Bu eğitimde örnekler yardımıyla Java PrintWriter ve onun print () ve printf () yöntemlerini öğreneceğiz.

PrintWriterSınıf java.iopaketi yaygın okunabilir bir biçimde (metin) çıkış veri yazmak için kullanılabilir.

Soyut sınıfı genişletir Writer.

PrintWriter'ın Çalışması

Diğer yazarlar farklı olarak, PrintWriter(ilkel veriye dönüştürür int, float, charmetin biçiminde, vs.). Daha sonra bu biçimlendirilmiş veriyi yazıcıya yazar.

Ayrıca, PrintWritersınıf herhangi bir girdi / çıktı istisnası atmaz. Bunun yerine, checkError()içindeki herhangi bir hatayı bulmak için yöntemi kullanmamız gerekir.

Not : PrintWriterSınıf ayrıca otomatik yıkama özelliğine sahiptir. Bu, println()veya printf()yöntemlerinden biri çağrılırsa , yazarı tüm verileri hedefe yazmaya zorladığı anlamına gelir .

Bir PrintWriter Oluşturun

Bir baskı yazıcı oluşturmak için önce java.io.PrintWriterpaketi içe aktarmalıyız . Paketi buraya aktardıktan sonra, baskı yazıcıyı nasıl oluşturabiliriz.

1. Diğer yazarları kullanmak

 // Creates a FileWriter FileWriter file = new FileWriter("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush); 

Buraya,

  • ile temsil edilen dosyaya veri yazacak bir baskı yazıcı oluşturduk. FileWriter
  • autoFlush, otomatik temizlemenin gerçekleştirilip gerçekleştirilmeyeceğini belirten isteğe bağlı bir parametredir

2. Diğer çıktı akışlarını kullanma

 // Creates a FileOutputStream FileOutputStream file = new FileOutputStream("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush); 

Buraya,

  • ile temsil edilen dosyaya veri yazacak bir baskı yazıcı oluşturduk. FileOutputStream
  • autoFlush, otomatik temizlemenin gerçekleştirilip gerçekleştirilmeyeceğini belirten isteğe bağlı bir parametredir

3. Dosya adını kullanma

 // Creates a PrintWriter PrintWriter output = new PrintWriter(String file, boolean autoFlush); 

Buraya,

  • Verileri belirtilen dosyaya yazacak bir yazıcı oluşturduk
  • autoFlush, otomatik temizlemenin mi yoksa otomatik temizlemenin mi yapılacağını belirten isteğe bağlı bir

Not : Yukarıdaki tüm durumlarda, PrintWriterverileri dosyaya bazı varsayılan karakter kodlamaları kullanarak yazar. Bununla birlikte, karakter kodlamasını ( UTF8 veya UTF16 ) da belirtebiliriz .

 // Creates a PrintWriter using some character encoding PrintWriter output = new PrintWriter(String file, boolean autoFlush, Charset cs); 

Burada, karakter kodlamasını belirtmek için Charset sınıfını kullandık. Daha fazla bilgi edinmek için Java Charset'i (resmi Java belgeleri) ziyaret edin.

PrintWriter Yöntemleri

PrintWriterSınıf bize gönderilecek veriyi yazdırmak için izin çeşitli yöntemler sağlar.

print () Yöntem

  • print() - belirtilen verileri yazıcıya yazdırır
  • println() - veriyi yazarın sonunda yeni bir satır karakteri ile birlikte yazdırır

Örneğin,

 import java.io.PrintWriter; class Main ( public static void main(String() args) ( String data = "This is a text inside the file."; try ( PrintWriter output = new PrintWriter("output.txt"); output.print(data); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Yukarıdaki örnekte output adında bir yazıcı yazıcısı oluşturduk. Bu yazıcı yazıcı output.txt dosyasıyla bağlantılıdır .

 PrintWriter output = new PrintWriter("output.txt"); 

Verileri dosyaya yazdırmak için print()yöntemi kullandık .

Burada programı çalıştırdığımızda output.txt dosyası aşağıdaki içerikle doldurulur.

 This is a text inside the file. 

printf () Yöntem

printf()Yöntem biçimlendirilmiş dize yazdırmak için kullanılabilir. 2 parametre içerir: biçimlendirilmiş dizge ve bağımsız değişkenler. Örneğin,

 printf("I am %d years old", 25); 

Buraya,

  • Ben %dyaşındayım, biçimlendirilmiş bir dizedir
  • %d biçimlendirilmiş dizedeki tamsayı veridir
  • 25 bir argümandır

Biçimlendirilmiş dize hem metni hem de verileri içerir. Ve bağımsız değişkenler, biçimlendirilmiş dizenin içindeki verilerin yerini alır.

Dolayısıyla % d , 25 ile değiştirilir .

Örnek: PrintWriter kullanarak printf () Yöntemi

 import java.io.PrintWriter; class Main ( public static void main(String() args) ( try ( PrintWriter output = new PrintWriter("output.txt"); int age = 25; output.printf("I am %d years old.", age); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Yukarıdaki örnekte output adında bir yazıcı yazıcısı oluşturduk. Yazıcı yazıcı output.txt dosyası ile bağlantılıdır .

 PrintWriter output = new PrintWriter("output.txt"); 

Biçimlendirilmiş metni dosyaya yazdırmak için printf()yöntemi kullandık .

Burada programı çalıştırdığımızda output.txt dosyası aşağıdaki içerikle doldurulur.

 I am 25 years old. 

Diğer PrintWriter Yöntemleri

Yöntem Açıklama
close() baskı yazarını kapatır
checkError() yazıcıda bir hata olup olmadığını kontrol eder ve bir mantıksal sonuç döndürür
append() belirtilen verileri yazıcıya ekler

Daha fazla bilgi edinmek için Java PrintWriter'ı (resmi Java belgeleri) ziyaret edin.

Ilginç makaleler...