Dalam tutorial ini, kita akan belajar mengenai kelas Java PrintStream dan kaedah cetak () dan printf () dengan bantuan contoh.
The PrintStreamgolongan orang java.iopakej boleh digunakan untuk menulis data output dalam bentuk yang biasa dibaca (teks) dan bukannya bait.
Ia meluaskan kelas abstrak OutputStream.

Kerja PrintStream
Tidak seperti aliran output lain, PrintStreammenukar data primitif (bilangan bulat, watak) ke dalam format teks dan bukannya bait. Ia kemudian menulis bahawa data yang diformat ke aliran output.
Dan juga, PrintStreamkelas tidak membuang pengecualian input / output. Sebagai gantinya, kita perlu menggunakan checkError()kaedah untuk mencari kesalahan di dalamnya.
Catatan : PrintStreamKelas ini juga mempunyai ciri pembilasan automatik. Ini bermaksud ia memaksa aliran output untuk menulis semua data ke destinasi dengan salah satu syarat berikut:
- jika watak 
barisan baru ditulis dalam aliran cetak - sekiranya 
println()kaedah tersebut digunakan - jika sebilangan bait ditulis dalam aliran cetakan
 
Buat PrintStream
Untuk membuat PrintStream, kita mesti mengimport java.io.PrintStreampakej terlebih dahulu. Sebaik sahaja kami mengimport pakej di sini adalah bagaimana kita dapat membuat aliran cetak.
1. Menggunakan aliran output yang lain
 // Creates a FileOutputStream FileOutputStream file = new FileOutputStream(String file); // Creates a PrintStream PrintStream output = new PrintStream(file, autoFlush); 
Di sini,
- kami telah membuat aliran cetak yang akan menulis data berformat ke fail yang diwakili oleh 
FileOutputStream - autoFlush adalah parameter boolean pilihan yang menentukan sama ada melakukan pembilasan automatik atau tidak
 
2. Menggunakan nama fail
  // Creates a PrintStream PrintStream output = new PrintStream(String file, boolean autoFlush); 
Di sini,
- kami telah membuat aliran cetak yang akan menulis data berformat ke fail yang ditentukan
 - autoFlush adalah parameter boolean pilihan yang menentukan sama ada melakukan autoflush atau tidak
 
Catatan : Dalam kedua kes tersebut, PrintStreamtulis data ke fail menggunakan beberapa pengekodan watak lalai. Walau bagaimanapun, kita dapat menentukan pengekodan watak ( UTF8 atau UTF16 ) juga.
 // Creates a PrintStream using some character encoding PrintStream output = new PrintStream(String file, boolean autoFlush, Charset cs); 
Di sini, kami telah menggunakan Charsetkelas untuk menentukan pengekodan watak. Untuk mengetahui lebih lanjut, lawati Java Charset (dokumentasi Java rasmi).
Kaedah PrintStream
The PrintStreamkelas menyediakan pelbagai kaedah yang membolehkan kita untuk mencetak data untuk output.
cetak () Kaedah
print()- mencetak data yang ditentukan ke aliran outputprintln()- mencetak data ke aliran output bersama dengan watak baris baru di akhir
Contoh: kaedah cetak () dengan kelas Sistem
 class Main ( public static void main(String() args) ( String data = "Hello World."; System.out.print(data); ) ) 
Pengeluaran
Hai dunia.
Dalam contoh di atas, kami belum membuat aliran cetak. Walau bagaimanapun, kita boleh menggunakan print()kaedah PrintStreamkelas.
Anda mungkin tertanya-tanya bagaimana ini berlaku. Baiklah, izinkan saya menerangkan apa yang berlaku di sini.
Perhatikan garis,
 System.out.print(data); 
Di sini,
Systemadalah kelas akhir yang bertanggungjawab untuk melaksanakan operasi input / output standardoutadalah pemboleh ubah kelas dariPrintStreamjenis yang dinyatakan dalamSystemkelas
Sekarang kerana outadalah PrintStreamjenis, kita boleh menggunakannya untuk memanggil semua kaedah PrintStreamkelas.
Contoh: kaedah cetak () dengan kelas PrintStream
 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(); ) ) ) 
Dalam contoh di atas, kami telah membuat aliran cetak bernama output. Aliran cetakan dihubungkan dengan fail output.txt .
 PrintStream output = new PrintStream("output.txt"); 
Untuk mencetak data ke fail, kami telah menggunakan print()kaedahnya.
Di sini, semasa kita menjalankan program, fail output.txt diisi dengan kandungan berikut.
 This is a text inside the file. 
printf () Kaedah
The printf()kaedah boleh digunakan untuk mencetak rentetan diformat. Ia merangkumi 2 parameter: rentetan dan argumen yang diformat. Sebagai contoh,
 printf("I am %d years old", 25); 
Di sini,
- Saya berumur% d tahun adalah rentetan berformat
 - % d adalah data integer dalam rentetan yang diformat
 - 25 adalah hujah
 
Rentetan yang diformat merangkumi teks dan data. Dan, argumen menggantikan data di dalam rentetan yang diformat.
Oleh itu % d digantikan oleh 25 .
Contoh: kaedah printf () menggunakan PrintStream
 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(); ) ) ) 
Dalam contoh di atas, kami telah membuat aliran cetak bernama output. Aliran cetakan dihubungkan dengan output.txt fail .
 PrintStream output = new PrintStream("output.txt"); 
Untuk mencetak teks berformat ke file, kami telah menggunakan printf()kaedahnya.
Di sini, semasa kita menjalankan program, fail output.txt diisi dengan kandungan berikut.
 I am 25 years old.  
Kaedah Lain PrintStream
| Kaedah | Penerangan | 
|---|---|
close() |  menutup aliran cetakan | 
checkError() |  memeriksa sama ada terdapat ralat dalam aliran dan mengembalikan hasil boolean | 
append() |  menambahkan data yang ditentukan ke aliran | 
Untuk mengetahui lebih lanjut, kunjungi Java PrintStream (dokumentasi Java rasmi).








