Java PrintStream (Dengan Contoh)

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

  • System adalah kelas akhir yang bertanggungjawab untuk melaksanakan operasi input / output standard
  • outadalah pemboleh ubah kelas dari PrintStreamjenis yang dinyatakan dalam Systemkelas

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).

Artikel menarik...