API printstream dan printwriter hampir sama, keduanya dapat menghasilkan berbagai bentuk data, dan metode konstruksi hampir sama
Printwriter memiliki parameter penulis penerima tambahan
Perbandingan API:
Jadi, apa perbedaan di antara mereka? Dari Stackflow
Arti utama adalah bahwa fungsi dari kedua kelas pada dasarnya sama, dan printwriter yang juga dapat diimplementasikan oleh printstream, dan fungsi printwriter lebih kuat. Namun, karena printwriter muncul relatif terlambat, sistem sebelumnya yang digunakan printstream untuk mengimplementasikannya, sehingga printstream tidak ditinggalkan untuk kompatibilitas.
Perbedaan terbesar antara kedua kelas adalah bahwa PrintStream menggunakan format pengkodean default sistem saat mengeluarkan karakter dan mengubah karakter menjadi byte. Ini akan menyebabkan masalah ketika data ditransmisikan ke platform lain dan decod platform lain menggunakan format pengkodean lain, dan ada faktor yang tidak terkendali. Printwriter dapat ditentukan oleh programmer saat lulus dalam penulis, dan format pengkodean saat mengubah karakter menjadi byte akan lebih baik.
Program berikut menunjukkan bagaimana dua objek Printstream dan Printwriter melakukannya saat memproses tujuan output yang sama. Program ini akan menampilkan empat karakter "Sederhana Cina" di layar:
StreamwriterDemo.java Paket OnlyFun.caterpillar; import java.io.*; Kelas publik streamWriterDemo {public static void main (string [] args) {coba {byte [] sim = {byte) 0xbc, (byte) 0xf2, // disederhanakan (byte) 0xcc (byte (byte) 0xf2, // disederhanakan (byte) 0xcc (byte) 0xcc (byte (byte) 0xf2, // byte (byte) 0xcc (byte) 0xcc (byte) 0xcc) (byte)0xd0, // Medium (byte)0xce, (byte)0xc4};// Text InputStreamReader inputStreamReader = new InputStreamReader(new ByteArrayInputStream(sim), "GB2312");PrintWriter printWriter =new PrintWriter(new OutputStreamWriter(System.out, "GB2312")); printStream printStream = new printStream (System.out, true, "gb2312"); int in; while ((in = inputStreamReader.read ())! = -1) {printwriter.println ((char) di); printStream.println ((char) in);} inputStreamReader.close (); printwriter.close (); printStream.close ();} catch () () {e.printscacktrace () (), {e.printscacktrace () {e.printscacktrace () {e.printscacktrace () {e.printscacktrace () {e.printsktrace () {e.printscrace () {e.printscrace () {e.printscrace () {e.printscrace () {e.printscrace () {e.printscrace () {e.printsception () {E.PrintStackTrace ();}}}Meringkaskan
Di atas adalah seluruh konten artikel ini tentang perbedaan antara printstream dan printwriter, dan saya harap ini akan membantu semua orang. Teman yang tertarik dapat terus merujuk ke topik terkait lainnya di situs ini. Jika ada kekurangan, silakan tinggalkan pesan untuk menunjukkannya. Terima kasih teman atas dukungan Anda untuk situs ini!