java中的DataInputStream和DataOutputstream的讲解

来源:互联网 发布:java记录访问次数 编辑:程序博客网 时间:2024/05/22 11:38

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;

 

public class PackClassDealwith {
 
 public static void main(String[] args) throws Exception {
  /*
   * 如果我们只是用fileOutputStream去写入一个浮点数的话,那是很麻烦的,但是如果用dataOutputStream就比较简单了
   * bufferedOutputStream是自己建立的缓存区的作用,这样避免底层流平凡的跟储存设备打交道。
   */
  FileOutputStream fileOutputStream = new FileOutputStream("a.txt");
  BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(fileOutputStream);
  DataOutputStream dataOutputStream = new DataOutputStream(bufferedOutputStream);
  dataOutputStream.writeFloat(1.2f);
  dataOutputStream.writeFloat(1.3f);
  //下面两种方法写入字符窜,读出来是比较麻烦的
//  dataOutputStream.writeBytes("中国good");
//  dataOutputStream.writeChars("中国good");
  dataOutputStream.writeByte(1);
  //这种方法写入字符窜,读取出来就比较容易
  dataOutputStream.writeUTF("中国good");
  dataOutputStream.close();
  
  FileInputStream fileInputStream = new FileInputStream("a.txt");
  BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);
  DataInputStream dataInputStream = new DataInputStream(bufferedInputStream);
  float a = dataInputStream.readFloat();
  System.out.println(a);
  
  float b = dataInputStream.readFloat();
  System.out.println(b);
  
  byte c = dataInputStream.readByte();
//  byte [] d = new byte[1];
//  d[0] = c;
  System.out.println(c);
  
  String e = dataInputStream.readUTF();
  System.out.println(e);
  dataInputStream.close();
 }

}