Dalam tutorial ini, kita akan belajar mengenai kelas Java PrintStream dan kaedah cetak () dan printf () dengan bantuan contoh.
The PrintStream
golongan orang java.io
pakej 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, PrintStream
menukar data primitif (bilangan bulat, watak) ke dalam format teks dan bukannya bait. Ia kemudian menulis bahawa data yang diformat ke aliran output.
Dan juga, PrintStream
kelas tidak membuang pengecualian input / output. Sebagai gantinya, kita perlu menggunakan checkError()
kaedah untuk mencari kesalahan di dalamnya.
Catatan : PrintStream
Kelas 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.PrintStream
pakej 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, PrintStream
tulis 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 Charset
kelas untuk menentukan pengekodan watak. Untuk mengetahui lebih lanjut, lawati Java Charset (dokumentasi Java rasmi).
Kaedah PrintStream
The PrintStream
kelas 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 PrintStream
kelas.
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 standardout
adalah pemboleh ubah kelas dariPrintStream
jenis yang dinyatakan dalamSystem
kelas
Sekarang kerana out
adalah PrintStream
jenis, kita boleh menggunakannya untuk memanggil semua kaedah PrintStream
kelas.
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).