//切记以数据类型输出就以什么数据类型读入,
//例如: 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();
}
}
}
}
DataInputStream(二进制输入流)和DataOutputStream二进制输出流(注意:in是从本地文件输入到程序中,out是从程序输出到本地种)