Java PrintWriter (Dengan Contoh)

Dalam tutorial ini, kita akan belajar mengenai Java PrintWriter dan kaedah cetak () dan printf () dengan bantuan contoh.

The PrintWritergolongan orang java.iopakej boleh digunakan untuk menulis data output dalam bentuk yang biasa dibaca (teks).

Ia meluaskan kelas abstrak Writer.

Kerja PrintWriter

Tidak seperti penulis-penulis lain, PrintWritermenukarkan data primitif ( int, float, char, dan lain-lain) ke dalam format teks. Ia kemudian menulis data berformat itu kepada penulis.

Juga, PrintWriterkelas tidak membuang pengecualian input / output. Sebagai gantinya, kita perlu menggunakan checkError()kaedah untuk mencari kesalahan di dalamnya.

Catatan : PrintWriterKelas ini juga mempunyai ciri pembilasan automatik. Ini bermaksud ia memaksa penulis untuk menulis semua data ke tempat tujuan jika salah satu println()atau printf()kaedah dipanggil.

Buat PrintWriter

Untuk membuat penulis cetak, kita mesti mengimport java.io.PrintWriterpakej terlebih dahulu. Setelah kami mengimport pakej di sini adalah bagaimana kita dapat membuat penulis cetak.

1. Menggunakan penulis lain

 // Creates a FileWriter FileWriter file = new FileWriter("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush); 

Di sini,

  • kami telah membuat penulis cetak yang akan menulis data ke fail yang diwakili oleh FileWriter
  • autoFlush adalah parameter pilihan yang menentukan sama ada melakukan pembilasan automatik atau tidak

2. Menggunakan aliran output yang lain

 // Creates a FileOutputStream FileOutputStream file = new FileOutputStream("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush); 

Di sini,

  • kami telah membuat penulis cetak yang akan menulis data ke fail yang diwakili oleh FileOutputStream
  • autoFlush adalah parameter pilihan yang menentukan sama ada melakukan pembilasan automatik atau tidak

3. Menggunakan nama fail

 // Creates a PrintWriter PrintWriter output = new PrintWriter(String file, boolean autoFlush); 

Di sini,

  • kami telah membuat penulis cetak yang akan menulis data ke fail yang ditentukan
  • autoFlush adalah parameter boolean pilihan yang menentukan sama ada melakukan pembilasan automatik atau tidak

Catatan : Dalam semua kes di atas, PrintWriterdata menulis ke fail menggunakan beberapa pengekodan watak lalai. Walau bagaimanapun, kita dapat menentukan pengekodan watak ( UTF8 atau UTF16 ) juga.

 // Creates a PrintWriter using some character encoding PrintWriter output = new PrintWriter(String file, boolean autoFlush, Charset cs); 

Di sini, kami telah menggunakan kelas Charset untuk menentukan pengekodan watak. Untuk mengetahui lebih lanjut, lawati Java Charset (dokumentasi Java rasmi).

Kaedah PrintWriter

The PrintWriterkelas menyediakan pelbagai kaedah yang membolehkan kita untuk mencetak data untuk output.

cetak () Kaedah

  • print() - mencetak data yang ditentukan kepada penulis
  • println() - mencetak data kepada penulis bersama dengan watak baris baru di akhir

Sebagai contoh,

 import java.io.PrintWriter; class Main ( public static void main(String() args) ( String data = "This is a text inside the file."; try ( PrintWriter output = new PrintWriter("output.txt"); output.print(data); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Dalam contoh di atas, kami telah membuat penulis cetak bernama output. Penulis cetak ini dihubungkan dengan output.txt fail .

 PrintWriter output = new PrintWriter("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 %dberumur 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 PrintWriter

 import java.io.PrintWriter; class Main ( public static void main(String() args) ( try ( PrintWriter output = new PrintWriter("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 penulis cetak bernama output. Penulis cetak dihubungkan dengan output.txt fail .

 PrintWriter output = new PrintWriter("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 PrintWriter

Kaedah Penerangan
close() menutup penulis cetak
checkError() memeriksa sama ada terdapat kesalahan dalam penulis dan mengembalikan hasil boolean
append() menambahkan data yang ditentukan kepada penulis

Untuk mengetahui lebih lanjut, lawati Java PrintWriter (dokumentasi Java rasmi).

Artikel menarik...