java学习总结(文件输出流与缓冲流)

时间:2021-12-17 10:26:15

OutputStream的学习总结

 

1.OutputStream与InputStream一样都是抽象类,它只定义了字节输出流统一 的几个方法,具体的实现有6个不同的子类

 

2.OutputStream的6个实现子类:
 ByteArrayOutputStream,FileOutputStream,FilterOutputStream,ObjectOutputStream,OutputStream,PipedOutputStream
 
3.FileOutputStream
 1.常用的构造方法
 

Java代码  java学习总结(文件输出流与缓冲流)
  1. FileOutputStream(String name);//name是字符串型的路径名  
  2. FileOutputStream(File file);//file是文件对象  

  
 2.常用的方法
 

Java代码  java学习总结(文件输出流与缓冲流)
  1. String path = "D:\\My Documents\\StudySample";//用字符串表示的文件路径  
  2.  FileOutputStream fos = new FileOutputStream(path);//创建文件输出流对象  
  3.  int i = 65;  
  4.  fos.write(i);//将指定字节写入此文件输出流  
  5.    
  6.  byte[] b = new byte[]{1,2,3,4,5};  
  7.  fos.write(b);//将 b.length 个字节从指定 byte 数组写入此文件输出流中  
  8.    
  9.  fos.write(b,1,2);//将指定 byte 数组中从偏移量 1开始的 2个字节写入此文件输出流。  
  10.    
  11.  fos.flush();//刷新此输出流并强制写出所有缓冲的输出字节  
  12.    
  13.  fos.close();//关闭输出流  

  
缓冲流的应用
1.缓冲流可以加快输入输出的速率。
2.缓冲流的构造函数的参数是InputStream和OutputStream的子类对象
3.常用的缓冲流是BufferedOutputStream/BufferedInputStream

4.BufferedOutputStream应用示例

Java代码  java学习总结(文件输出流与缓冲流)
  1. //创建文件输出流对象  
  2. FileOutputStream fos = new FileOutputStream(path);  
  3. //用缓冲流包装文件输出流对象  
  4. BufferedOutputStream bos = new BufferedOutputStream(fos);  

  
 BufferedOutputStream类中的方法:
  

Java代码  java学习总结(文件输出流与缓冲流)
  1. flush();//刷新此缓冲的输出流。这迫使所有缓冲的输出字节被写出到底层输出流中。   
  2.   write(byte[] b,int off,int len);//将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此缓冲的输出流。  
  3.   write(int b);//将指定的字节写入此缓冲的输出流。