天天看點

Java如何讀寫基本資料類型和對象_114.Java操作基本資料類型的流對象

操作基本資料類型的流對象

DataInputStream

以及DataOutputStream

檢視API文檔DataInputStream的資訊。發現從底層輸入流中讀取基本 Java 資料類型。檢視方法,有讀一個位元組,讀一個char讀一個double 的方法,

DataInputStream 從資料流讀取位元組,并将它們轉換為正确的基本資料類型值或字元串。

該流有操作基本資料類型的方法.

有讀的,那麼必定有對應的寫的就是DataOutputStream 将基本類型的值或字元串轉換為位元組,并且将位元組輸出到資料流。

DataInputStream類繼承FilterInputStream類,并實作了DataInput接口。DataOutputStream

類繼承FilterOutputStream 并實作了DataOutput 接口。

例如:

DataInputStream

操作基本資料類型的方法:intreadInt():一次讀取四個位元組,并将其轉成int值。booleanreadBoolean():一次讀取一個位元組。shortreadShort();longreadLong();

剩下的資料類型一樣。

String readUTF():按照utf-8修改版讀取字元。注意,它隻能讀writeUTF()寫入的字元資料。

DataOutputStream

DataOutputStream(OutputStream):

操作基本資料類型的方法:

writeInt(int):一次寫入四個位元組。

注意和write(int)不同。write(int)隻将該整數的最低一個8位寫入。剩餘三個8位丢棄。

writeBoolean(boolean);

writeShort(short);

writeLong(long);

剩下是資料類型也也一樣。

writeUTF(String):按照utf-8修改版将字元資料進行存儲。隻能通過readUTF讀取。

測試:  DataOutputStream

使用DataOutputStream寫資料檔案。

public static void testDataInputStream() throwsException {

DataOutputStream out= new DataOutputStream(newFileOutputStream("c:/a.txt"));

out.writeBoolean(true);

out.writeByte(15); //0x05 1 個位元組

out.writeBytes("abc"); //0x 0041 2個位元組

out.writeChar('X'); //??

out.writeChars("xyz");

out.writeLong(111);

out.writeUTF("中國");

out.close();

DataInputStream in= newDataInputStream(new FileInputStream("c:/a.txt"));

System.out.println(in.readBoolean());

System.out.println(in.readByte());

System.out.println(in.readByte());

System.out.println(in.readByte());

System.out.println(in.readByte());

System.out.println(in.readChar());

System.out.println(in.readChar());

System.out.println(in.readChar());

System.out.println(in.readChar());

System.out.println(in.readLong());

System.out.println(in.readUTF());

in.close();

}