Rumah  >  Artikel  >  Java  >  Cara menggunakan DataInputStream dan DataOutputStream Java

Cara menggunakan DataInputStream dan DataOutputStream Java

WBOY
WBOYke hadapan
2023-04-28 18:40:161781semak imbas

Pengenalan

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:

Cara menggunakan DataInputStream dan DataOutputStream Java

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:

Cara menggunakan DataInputStream dan DataOutputStream Java

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:

Cara menggunakan DataInputStream dan DataOutputStream Java

Klik butang baca:

Cara menggunakan DataInputStream dan DataOutputStream Java

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!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam