Java PrintStream (Dengan Contoh)

Dalam tutorial ini, kita akan belajar tentang kelas Java PrintStream dan metode print () dan printf () dengan bantuan contoh.

The PrintStreamkelas dari java.iopaket dapat digunakan untuk menulis output data dalam bentuk yang biasa dibaca (teks) bukan byte.

Ini memperluas kelas abstrak OutputStream.

Bekerja dari PrintStream

Tidak seperti aliran keluaran lainnya, aliran ini PrintStreammengonversi data primitif (bilangan bulat, karakter) ke dalam format teks, bukan byte. Kemudian menulis data yang diformat itu ke aliran keluaran.

Dan juga, PrintStreamkelas tidak menampilkan pengecualian input / output. Sebagai gantinya, kita perlu menggunakan checkError()metode ini untuk menemukan kesalahan apa pun di dalamnya.

Catatan : PrintStreamKelas juga memiliki fitur pembilasan otomatis. Ini berarti memaksa arus keluaran untuk menulis semua data ke tujuan di bawah salah satu kondisi berikut:

  • jika karakter baris baru ditulis di aliran cetak
  • jika println()metode tersebut dipanggil
  • jika array byte ditulis dalam aliran cetak

Buat PrintStream

Untuk membuat PrintStream, kita harus mengimpor java.io.PrintStreampaketnya terlebih dahulu. Setelah kami mengimpor paket di sini adalah bagaimana kami dapat membuat aliran cetak.

1. Menggunakan aliran keluaran lainnya

 // Creates a FileOutputStream FileOutputStream file = new FileOutputStream(String file); // Creates a PrintStream PrintStream output = new PrintStream(file, autoFlush); 

Sini,

  • kami telah membuat aliran cetak yang akan menulis data yang diformat ke file yang diwakili oleh FileOutputStream
  • autoFlush adalah parameter boolean opsional yang menentukan apakah akan melakukan pembilasan otomatis atau tidak

2. Menggunakan nama file

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

Sini,

  • kami telah membuat aliran cetak yang akan menulis data yang diformat ke file yang ditentukan
  • autoFlush adalah parameter boolean opsional yang menentukan apakah akan melakukan autoflush atau tidak

Catatan : Dalam kedua kasus tersebut, PrintStreamtulis data ke file menggunakan beberapa pengkodean karakter default. Namun, kami juga dapat menentukan pengkodean karakter ( UTF8 atau UTF16 ).

 // 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 pengkodean karakter. Untuk mempelajari lebih lanjut, kunjungi Java Charset (dokumentasi resmi Java).

Metode PrintStream

The PrintStreamkelas menyediakan berbagai metode yang memungkinkan kita untuk mencetak data ke output.

print () Metode

  • print() - mencetak data yang ditentukan ke aliran keluaran
  • println() - mencetak data ke aliran keluaran bersama dengan karakter baris baru di akhir

Contoh: metode print () dengan kelas Sistem

 class Main ( public static void main(String() args) ( String data = "Hello World."; System.out.print(data); ) ) 

Keluaran

 Halo Dunia. 

Dalam contoh di atas, kami belum membuat aliran cetak. Namun, kita bisa menggunakan print()metode PrintStreamkelas.

Anda mungkin bertanya-tanya bagaimana ini mungkin. Baiklah, izinkan saya menjelaskan apa yang terjadi di sini.

Perhatikan garisnya,

 System.out.print(data); 

Sini,

  • System adalah kelas terakhir yang bertanggung jawab untuk melakukan operasi input / output standar
  • outadalah jenis variabel kelas yang PrintStreamdideklarasikan di Systemkelas

Sekarang karena outini dari PrintStreamjenis, kita dapat menggunakannya untuk memanggil semua metode PrintStreamkelas.

Contoh: metode print () 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 cetak ditautkan dengan file output.txt .

 PrintStream output = new PrintStream("output.txt"); 

Untuk mencetak data ke file, kami telah menggunakan print()metode.

Di sini, saat kita menjalankan program, file output.txt diisi dengan konten berikut.

 This is a text inside the file. 

printf () Metode

The printf()metode dapat digunakan untuk mencetak string diformat. Ini mencakup 2 parameter: string dan argumen yang diformat. Sebagai contoh,

 printf("I am %d years old", 25); 

Sini,

  • Saya% d tahun adalah string yang diformat
  • % d adalah data integer dalam string yang diformat
  • 25 adalah argumen

String yang diformat mencakup teks dan data. Dan, argumen mengganti data di dalam string yang diformat.

Karenanya % d diganti dengan 25 .

Contoh: metode 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 cetak dihubungkan dengan file output.txt .

 PrintStream output = new PrintStream("output.txt"); 

Untuk mencetak teks yang diformat ke file, kami telah menggunakan printf()metode ini.

Di sini, saat kita menjalankan program, file output.txt diisi dengan konten berikut.

 I am 25 years old. 

Metode Lainnya Dari PrintStream

Metode Deskripsi
close() menutup aliran cetak
checkError() memeriksa apakah ada kesalahan dalam aliran dan mengembalikan hasil boolean
append() menambahkan data yang ditentukan ke aliran

Untuk mempelajari lebih lanjut, kunjungi Java PrintStream (dokumentasi resmi Java).

Artikel yang menarik...