操作基本資料類型的流對象
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();
}