Java PrintStream (Örneklerle)

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ır
  • println() - 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,

  • System standart giriş / çıkış işlemini gerçekleştirmekle sorumlu son sınıftır
  • outBir sınıf değişkeni olan PrintStreamtip beyan Systemsı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.

Ilginç makaleler...