Apa yang perlu dilakukan jika aliran keluaran data bercelaru?
Penyelesaian kepada aliran dataoutput yang bercelaru: 1. Tulis String melalui "dos.write("...".getBytes());"; 2. Set "new OutputStreamWriter(new FileOutputStream(file), "utf- 8");" sudah memadai.
Persekitaran pengendalian tutorial ini: sistem Windows 10, Java versi 8.0, komputer Dell G3.
Apakah yang perlu saya lakukan jika aliran keluaran data bercelaru?
Selesaikan masalah kod DataOutputStream bercelaru
Saya akan pijak lubang ini dahulu untuk menghormatinya, dan sebut perkara penting tiga kali!
Jangan sekali-kali gunakan kaedah writeBytes DataOutputStream
Jangan sekali-kali gunakan kaedah writeBytes DataOutputStream
Beribu-ribu Tidak pernah gunakan kaedah writeBytes DataOutputStream
Apabila kami menggunakan DataOutputStream, sebagai contoh, jika kami ingin menulis String, anda akan melihat tiga kaedah
public final void writeBytes(String s) public final void writeChars(String s) public final void writeUTF(String str)
OK , kemudian cuba tulis kandungan yang sama dan kemudian baca semula
File file = new File("d:"+File.separator+"test.txt"); DataOutputStream dos = new DataOutputStream(new FileOutputStream(file)); dos.writeBytes("你好"); dos.writeChars("你好"); dos.writeUTF("你好"); dos.flush(); dos.close(); DataInputStream dis = new DataInputStream(new FileInputStream(file)); byte[] b = new byte[2]; dis.read(b); // `} System.out.println(new String(b, 0, 2)); char[] c = new char[2]; for (int i = 0; i < 2; i++) { c[i] = dis.readChar(); } //你好 System.out.println(new String(c, 0, 2)); //你好 System.out.println(dis.readUTF());
Ya, anda membacanya dengan betul, ia ditulis dengan kaedah writeBytes Apabila kandungan dibacakan, mengapa ia bercelaru?
Klik masuk untuk melihat pelaksanaan
public final void writeBytes(String s) throws IOException { int len = s.length(); for (int i = 0 ; i < len ; i++) { out.write((byte)s.charAt(i)); } incCount(len); }
Saudara, jenis aksara ini telah ditukar secara paksa kepada jenis bait, dan ketepatannya telah hilang tidak boleh dikembalikan. Oleh itu, jangan tamak untuk kemudahan apabila menggunakannya, cuma gantikan dengan dos.write("Hello".getBytes()); 🎜>
Ini perkara biasa jika anda ingin membaca, gunakan DataInputStream untuk membaca Jika anda hanya mahu menyimpannya sebagai fail teks, gunakan FileOutputStream atau PrintWriter Sebab utama ialah kaedah pengekodan berbezaOutputStreamWriter oStreamWriter = new OutputStreamWriter(new FileOutputStream(file), "utf-8"); oStreamWriter.append(str); oStreamWriter.close();Gunakan strim aksara dan bukannya strim bait
Kelas BufferedReader membaca teks daripada strim input aksara dan menampan aksara untuk membaca dengan cekap. aksara, tatasusunan dan baris
Pembelajaran yang disyorkan: "
Tutorial Video Java"
Atas ialah kandungan terperinci Apa yang perlu dilakukan jika aliran keluaran data bercelaru?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel ini membincangkan pelbagai algoritma pengumpulan sampah Java (Serial, Selari, CMS, G1, ZGC), kesan prestasi mereka, dan kesesuaian untuk aplikasi dengan timbunan besar.

Artikel ini membincangkan Mesin Maya Java (JVM), yang memperincikan peranannya dalam menjalankan program Java di seluruh platform yang berbeza. Ia menerangkan proses dalaman JVM, komponen utama, pengurusan memori, pengumpulan sampah, dan pengoptimuman prestasi

Enjin Nashorn Java membolehkan skrip JavaScript dalam aplikasi Java. Langkah -langkah utama termasuk menubuhkan Nashorn, mengurus skrip, dan mengoptimumkan prestasi. Isu utama melibatkan keselamatan, pengurusan ingatan, dan keserasian masa depan kerana deprec Nashorn

Sumber-sumber cuba Java memudahkan pengurusan sumber dengan menutup sumber secara automatik seperti aliran fail atau sambungan pangkalan data, meningkatkan kebolehbacaan kod dan penyelenggaraan.

Java Enums mewakili set nilai tetap, menawarkan keselamatan jenis, kebolehbacaan, dan fungsi tambahan melalui kaedah dan pembina tersuai. Mereka meningkatkan organisasi kod dan boleh digunakan dalam penyataan suis untuk pengendalian nilai yang cekap.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.