DataInputStream、DataOutputStream

数据专属流,可以将数据连同数据的类型一并写入文件 注意:这个文件不是普通文本文档(无法用记事本打开)
DataOutputStream(OutputStream)
DataOutputStream写入的文件只能用DataInputStream读取,并且读的时候顺序需要和写入顺序一致

  writeByte()  readByte()

public class Test_07 {
public static void main(String[] args) {
DataOutputStream outputStream = null;
DataInputStream inputStream = null;
try {
outputStream = new DataOutputStream(new FileOutputStream("test_03"));
inputStream = new DataInputStream(new FileInputStream("test_03"));
byte b = 100;
short s = 200;
int i = 300;
long l = 400L;
float f = 3.0F;
double d = 3.14;
boolean sex = false;
char c = 'a';
outputStream.writeByte(b);
outputStream.writeShort(s);
outputStream.writeInt(i);
outputStream.writeLong(l);
outputStream.writeFloat(f);
outputStream.writeDouble(d);
outputStream.writeBoolean(sex);
outputStream.writeChar(c);
outputStream.flush();

// System.out.println(inputStream.readChar());
System.out.println(inputStream.readByte());
System.out.println(inputStream.readShort());
System.out.println(inputStream.readInt());
System.out.println(inputStream.readLong());
System.out.println(inputStream.readFloat());
System.out.println(inputStream.readDouble());
System.out.println(inputStream.readBoolean());
System.out.println(inputStream.readChar());

} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (outputStream != null) {
try {
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (inputStream != null) {
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
*测试读取顺序不一样时,读取内容错误
posted @ 2020-08-09 14:21  javase-->  阅读(107)  评论(0)    收藏  举报