Bu eğiticide, örnekler yardımıyla Java PrintStream sınıfı ve onun print () ve printf () yöntemlerini öğreneceğiz.
PrintStreamSınıf java.iopaket genel olarak okunabilir bir biçimde (metin) yerine bayt çıkış veri yazmak için kullanılabilir.
Soyut sınıfı genişletir OutputStream.

PrintStream'in Çalışması
Diğer çıktı akışlarından farklı olarak PrintStream, ilkel verileri (tamsayı, karakter) bayt yerine metin biçimine dönüştürür. Daha sonra bu biçimlendirilmiş verileri çıktı akışına yazar.
Ayrıca, PrintStreamsı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 : PrintStreamSınıf ayrıca otomatik yıkama özelliğine sahiptir. Bu, çıkış akışını aşağıdaki koşullardan biri altında tüm verileri hedefe yazmaya zorladığı anlamına gelir:
baskı akışında yeni satır karakteri yazılırsa- Eğer
println()yöntemi çağrılır - yazdırma akışında bir bayt dizisi yazılırsa
Bir Baskı Akışı Oluşturun
Bir oluşturmak için PrintStreamönce java.io.PrintStreampaketi içe aktarmalıyız . Paketi buraya aktardıktan sonra, baskı akışını nasıl oluşturabiliriz.
1. Diğer çıktı akışlarını kullanma
// Creates a FileOutputStream FileOutputStream file = new FileOutputStream(String file); // Creates a PrintStream PrintStream output = new PrintStream(file, autoFlush);
Buraya,
- biçimlendirilmiş verileri temsil eden dosyaya yazacak bir baskı akışı oluşturduk
FileOutputStream - autoFlush, otomatik yıkamanın yapılıp yapılmayacağını belirten isteğe bağlı bir boole parametresidir
2. Dosya adını kullanma
// Creates a PrintStream PrintStream output = new PrintStream(String file, boolean autoFlush);
Buraya,
- biçimlendirilmiş verileri belirtilen dosyaya yazacak bir yazdırma akışı oluşturduk
- autoFlush, autoflush uygulanıp uygulanmayacağını belirten isteğe bağlı bir boole parametresidir
Not : Her iki durumda da, PrintStreamverileri bazı varsayılan karakter kodlamaları kullanarak dosyaya yazın. Bununla birlikte, karakter kodlamasını ( UTF8 veya UTF16 ) da belirtebiliriz .
// Creates a PrintStream using some character encoding PrintStream output = new PrintStream(String file, boolean autoFlush, Charset cs);
Burada, Charsetkarakter kodlamasını belirtmek için sınıfı kullandık . Daha fazla bilgi edinmek için Java Charset'i (resmi Java belgeleri) ziyaret edin.
PrintStream Yöntemleri
PrintStreamSınıf bize gönderilecek veriyi yazdırmak için izin çeşitli yöntemler sağlar.
print () Yöntem
print()- belirtilen verileri çıktı akışına yazdırırprintln()- veriyi, sonunda yeni bir satır karakteriyle birlikte çıktı akışına yazdırır
Örnek: System sınıfıyla print () yöntemi
class Main ( public static void main(String() args) ( String data = "Hello World."; System.out.print(data); ) )
Çıktı
Selam Dünya.
Yukarıdaki örnekte, bir baskı akışı oluşturmadık. Ancak sınıfın print()yöntemini kullanabiliriz PrintStream.
Bunun nasıl mümkün olduğunu merak ediyor olabilirsiniz. Pekala, burada neler olduğunu açıklamama izin verin.
Çizgiye dikkat edin,
System.out.print(data);
Buraya,
Systemstandart giriş / çıkış işlemini gerçekleştirmekle sorumlu son sınıftıroutBir sınıf değişkeni olanPrintStreamtip beyanSystemsınıfta
Şimdi bir tür olduğundan out, PrintStreamonu PrintStreamsınıfın tüm yöntemlerini çağırmak için kullanabiliriz .
Örnek: PrintStream sınıfıyla print () yöntemi
import java.io.PrintStream; class Main ( public static void main(String() args) ( String data = "This is a text inside the file."; try ( PrintStream output = new PrintStream("output.txt"); output.print(data); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Yukarıdaki örnekte output adında bir baskı akışı oluşturduk. Baskı akışı output.txt dosyasıyla bağlantılıdır .
PrintStream output = new PrintStream("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,
- % D yaşındayım, biçimlendirilmiş bir dizedir
- % d, biçimlendirilmiş dizedeki tam sayı verisidir
- 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: PrintStream kullanarak printf () yöntemi
import java.io.PrintStream; class Main ( public static void main(String() args) ( try ( PrintStream output = new PrintStream("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 baskı akışı oluşturduk. Baskı akışı output.txt dosyasıyla bağlantılıdır .
PrintStream output = new PrintStream("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 PrintStream Yöntemleri
| Yöntemler | Açıklamalar |
|---|---|
close() | baskı akışını kapatır |
checkError() | Akışta bir hata olup olmadığını kontrol eder ve bir mantıksal sonuç döndürür |
append() | belirtilen verileri akışa ekler |
Daha fazla bilgi edinmek için Java PrintStream'i (resmi Java belgeleri) ziyaret edin.








