cari
RumahJavaJavaAsasApa yang perlu dilakukan jika aliran keluaran data bercelaru?

Apa yang perlu dilakukan jika aliran keluaran data bercelaru?

Jan 05, 2023 am 11:28 AM
Watak bercelarudataoutputstream

Penyelesaian kepada aliran dataoutput yang bercelaru: 1. Tulis String melalui "dos.write("...".getBytes());"; 2. Set "new OutputStreamWriter(new FileOutputStream(file), "utf- 8");" sudah memadai.

Apa yang perlu dilakukan jika aliran keluaran data bercelaru?

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 berbeza
OutputStreamWriter 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!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Apakah algoritma pengumpulan sampah yang berbeza di Java (siri, selari, CMS, G1, ZGC)?Apakah algoritma pengumpulan sampah yang berbeza di Java (siri, selari, CMS, G1, ZGC)?Mar 14, 2025 pm 05:06 PM

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

Apakah Mesin Maya Java (JVM) dan bagaimana ia berfungsi secara dalaman?Apakah Mesin Maya Java (JVM) dan bagaimana ia berfungsi secara dalaman?Mar 14, 2025 pm 05:05 PM

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

Bagaimana saya menggunakan enjin Nashorn Java untuk skrip dengan JavaScript?Bagaimana saya menggunakan enjin Nashorn Java untuk skrip dengan JavaScript?Mar 14, 2025 pm 05:00 PM

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

Bagaimanakah saya menggunakan pernyataan cubaan Java untuk pengurusan sumber automatik?Bagaimanakah saya menggunakan pernyataan cubaan Java untuk pengurusan sumber automatik?Mar 14, 2025 pm 04:59 PM

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

Bagaimanakah saya menggunakan enum Java untuk mewakili set nilai tetap?Bagaimanakah saya menggunakan enum Java untuk mewakili set nilai tetap?Mar 14, 2025 pm 04:57 PM

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.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

MantisBT

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

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

SecLists

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.