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

Cara menggunakan DataInputStream dan DataOutputStream Java

WBOY
Lepaskan: 2023-04-28 18:40:16
ke hadapan
1888 orang telah melayarinya

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(相接的流)
Salin selepas log masuk

KaedahTulis data jenis int ke aliran output data, lapisan bawah akan Tulis 4 bait kepada aliran keluaran asas

writeInt(int i)
Salin selepas log masuk

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)
Salin selepas log masuk

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()
Salin selepas log masuk

DataInputStream

Buat objek

DataInputStream dis = new DataInputStream(InputStream in);
Salin selepas log masuk

KaedahBaca data jenis int daripada aliran input data, baca 4 bait

readInt()
Salin selepas log masuk

Baca 8 bait

readDouble()
Salin selepas log masuk

Baca 2 perkataan bahagian pertama untuk menentukan panjang bait rentetan dan kemudian baca nilai bait ini

readUTF()
Salin selepas log masuk

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();
    }
}
Salin selepas log masuk

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();
    }
}
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:yisu.com
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan