基本数据类型处理流
DataInputStream
DataOutputStream
1. 写到字节数组中
/**
* 数据+文件输出字节数组中
*/
public byte[] write() {
double point = 2.5;
long num = 100L;
String str = "数据类型";
byte[] dest = null;
// 创建源
ByteArrayOutputStream bos = new ByteArrayOutputStream();
// 选择流 DataOutputStream
try {
DataOutputStream os = new DataOutputStream(new BufferedOutputStream(bos));
// 操作 写出的顺序 为读取准备
os.writeDouble(point);
os.writeLong(num);
os.writeUTF(str);
os.flush();
dest = bos.toByteArray();
// 释放资源
os.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return dest;
}
2. 从字节数组中读取出
/**
* 从字节数组读取数据+类型
*/
public void read() {
// 源文件
byte[] dest = write();
// 选择流 DataInputStream
try {
DataInputStream is = new DataInputStream(new BufferedInputStream(new ByteArrayInputStream(dest)));
// 操作 读取的顺序与写出的一致 必须存在才能读取
double num1 = is.readDouble();
long num2 = is.readLong();
String str = is.readUTF();
// 释放资源
is.close();
System.out.println(num1);
System.out.println(num2);
System.out.println(str);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}