packagecom.pb.data;importjava.io.BufferedInputStream;importjava.io.BufferedOutputStream;importjava.io.DataInputStream;importjava.io.DataOutputStream;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;/** DataInputStream 和DataOutputStream的使用*/
public classDataInputAndOutput {public static voidmain(String[] args) {/** DataOutputStream写操作*/
try{//1.实例化FileOutputStream对象
FileOutputStream fos=new FileOutputStream("d:/test/data.txt");//2.实例化BuffereOutputStream 对象
BufferedOutputStream bos=newBufferedOutputStream(fos);//3.实例化DataOutputStream对象
DataOutputStream dos=newDataOutputStream(bos);//4.使用dos来写文件
dos.writeByte(1);
dos.writeLong(2);
dos.writeChar('c');
dos.writeUTF("hello java!");//关闭流
dos.close();
bos.close();
fos.close();
System.out.println("完成文件写入");
}catch(FileNotFoundException e) {
e.printStackTrace();
}catch(IOException e) {
e.printStackTrace();
}//因为写入的是二进制的所以看不明白
/** DataIntputStream读操作
* 读的顺序要与写的顺序一样*/System.out.println("=======开始读取文件=========");try{//1.实例化FileInputStream对象
FileInputStream fis=new FileInputStream("d:/test/data.txt");//2.实例化BuffereInputStream对象
BufferedInputStream bis=newBufferedInputStream(fis);//3.实例化DataInputStream对象
DataInputStream dis=newDataInputStream(bis);//4.读取文件顺序要与写入顺序一致,不然读出来的是乱码
System.out.println( dis.readByte());
System.out.println( dis.readLong());
System.out.println(dis.readChar());
System.out.println( dis.readUTF());//5.关闭流
dis.close();
bis.close();
fis.close();
System.out.println("读取文件完成!");
}catch(FileNotFoundException e) {
e.printStackTrace();
}catch(IOException e) {//TODO Auto-generated catch block
e.printStackTrace();
}
}
}