DataInputStream(二进制输入流)和DataOutputStream二进制输出流(注意:in是从本地文件输入到程序中,out是从程序输出到本地种)

//切记以数据类型输出就以什么数据类型读入,

//例如: dos.writeInt(100);写入,读取:dis.readUTF()有时会出现意想不到的错误,所以要时刻记得以数据类型输出就以什么数据类型读入

//DataInputStream(二进制输入流)

public class DataInputStreamDemo {

 //二进制流(读操作)  

public static void main(String[] args) {  

 FileInputStream fis = null;   

DataInputStream dis = null;   

try {    

fis = new FileInputStream("cba.bin");    

dis = new DataInputStream(fis);    

//读取字符串    

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

 //读取整型    

System.out.println(dis.readInt());    

//读取bool类型    

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

} catch (FileNotFoundException e) {    

// TODO Auto-generated catch block    

e.printStackTrace();   

} catch (IOException e) {    

// TODO Auto-generated catch block   

 e.printStackTrace();   

}finally{   

 try {    

 dis.close();   

  fis.close();    

} catch (IOException e) {   

  // TODO Auto-generated catch block     

e.printStackTrace();   

 }     

 }

 }

}

//DataOutputStream二进制输出流

public class DataOutputStreamDemo {
 //二进制流:适用于二进制文件
 /**
  * 二进制流的使用步骤:
  * 1、创建字节流
  * 2、创建二进制流
  * 3、进行读写操作
  * 4、关闭流
  */
 //二进制流需要注意:写入数据和读取数据要保持一致(数据类型、顺序),否则容易出现读取的数据不正确
 //二进制流(写操作)
 public static void main(String[] args) {

FileOutputStream fos = null;
  DataOutputStream dos = null;
  try {
   //1、创建字节流
   fos = new FileOutputStream("cba.bin");
   //2、创建二进制流
   dos = new DataOutputStream(fos);
   //3、写操作
   dos.writeUTF("abc");//将utf-8编码字符串写入到流中
   dos.writeInt(100);
   dos.writeBoolean(true);
   System.out.println("写入成功!");

} catch (FileNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }finally{

try {
    //4、关闭流
    dos.close();
    fos.close();
   } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
  }

}

}

原文地址:https://www.cnblogs.com/danmao/p/3825231.html