Bu eğitimde örnekler yardımıyla Java PrintWriter ve onun print () ve printf () yöntemlerini öğreneceğiz.
PrintWriter
Sınıf java.io
paketi 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
, char
metin biçiminde, vs.). Daha sonra bu biçimlendirilmiş veriyi yazıcıya yazar.
Ayrıca, PrintWriter
sı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 : PrintWriter
Sı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.PrintWriter
paketi 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, PrintWriter
verileri 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
PrintWriter
Sı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ırprintln()
- 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
%d
yaşı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.