Cara menggunakan DataInputStream dan DataOutputStream Java
Apr 28, 2023 pm 06:40 PMPengenalan
Dalam pakej io, dua aliran operasi data bebas platform disediakan: aliran output data (DataOutputStream) dan aliran input data (DataInputStream).
Biasanya aliran output data akan mengeluarkan data dalam format tertentu, dan kemudian data akan dibaca dalam format tertentu melalui aliran input data. DataOutputStream dan DataOutputStream digunakan untuk membaca dan menulis data format bait tetap.
DataOutputStream
Buat objek
DataOutputStream out = new DataOutputStream(相接的流)
KaedahTulis data jenis int ke aliran output data, lapisan bawah akan Tulis 4 bait kepada aliran keluaran asas
writeInt(int i)
Tulis data jenis berganda kepada aliran keluaran data Lapisan bawah akan menukarkan berganda kepada jenis panjang dan menulisnya kepada aliran keluaran asas, menghasilkan 8 perkataan
writeDouble(double d)
menulis rentetan ke aliran keluaran asas menggunakan pengekodan UTF-8 dalam cara yang tidak bergantung pada mesin. Keluaran pertama 2 bait yang mewakili panjang bait rentetan, dan kemudian keluarkan nilai bait ini
writeUTF()
DataInputStream
Buat objek
DataInputStream dis = new DataInputStream(InputStream in);
KaedahBaca data jenis int daripada aliran input data, baca 4 bait
readInt()
Baca 8 bait
readDouble()
Baca 2 perkataan bahagian pertama untuk menentukan panjang bait rentetan dan kemudian baca nilai bait ini
readUTF()
Petua: Bacaan selesai, dan EOFException akan berlaku apabila membaca semula
Chestnut 1 : Tulis data
public class Main { public static void main(String[] args) throws Exception { DataOutputStream out = new DataOutputStream(new FileOutputStream("d:/abc/f5")); out.writeInt(20211011); out.writeUTF("晴,18度"); out.writeInt(20211012); out.writeUTF("晴,19度"); out.writeInt(20211013); out.writeUTF("多云,17度"); out.close(); } }
Keputusan larian:
Chestnut 2: Baca
public class Main { public static void main(String[] args) throws Exception { DataInputStream in = new DataInputStream(new FileInputStream("d:/abc/f5")); try { while (true) { int date = in.readInt(); String s = in.readUTF(); System.out.println(date); System.out.println(s); } } catch (EOFException e) { //正确读取结束,不需要处理 } in.close(); } }
Keputusan larian:
Chestnut 3: Simpan maklumat pelajar
Ia dikehendaki menyimpan maklumat pelajar dalam format berikut
Nombor pelajar 00 00 00 01
Nama00 03 61 62 63
Jantina00 61
Umur00 00 00 16
xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="20dp"> <EditText android:id="@+id/et1" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="学号" /> <EditText android:id="@+id/et2" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="姓名" /> <EditText android:id="@+id/et3" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="性别" /> <EditText android:id="@+id/et4" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="年龄" /> <Button android:id="@+id/btn1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="保存" /> <Button android:id="@+id/btn2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="读取" /> <TextView android:id="@+id/tv" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" /> </LinearLayout>
java
java🎜>Jalankan program:
Klik butang baca:
di mana getExternalFilesDir(null)
mendapat laluan berikut
/storage/emulated/0/Android/data/yourPackageName/files
direktori ini Ia akan dipadamkan apabila aplikasi itu dinyahpasang dan mengakses direktori ini tidak memerlukan aplikasi dinamik untuk kebenaran STORAGE.
Jadi menjalankan program akan menghasilkan fail stu.txt dalam laluan ini
Atas ialah kandungan terperinci Cara menggunakan DataInputStream dan DataOutputStream Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Cuti atau kembali dari Java 8 Stream Foreach?
