Java的简单理解(23)---基本数据类型处理流

Java

基本数据类型处理流

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();
    }

}

你可能感兴趣的:(Java的简单理解(23)---基本数据类型处理流)