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

OutputStream的学习总结

 

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

 

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

FileOutputStream(String name);//name是字符串型的路径名
FileOutputStream(File file);//file是文件对象

  
 2.常用的方法
 

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

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

4.BufferedOutputStream应用示例

 //创建文件输出流对象
 FileOutputStream fos = new FileOutputStream(path);
 //用缓冲流包装文件输出流对象
 BufferedOutputStream bos = new BufferedOutputStream(fos);

  
 BufferedOutputStream类中的方法:
  

flush();//刷新此缓冲的输出流。这迫使所有缓冲的输出字节被写出到底层输出流中。 
  write(byte[] b,int off,int len);//将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此缓冲的输出流。
  write(int b);//将指定的字节写入此缓冲的输出流。

 

你可能感兴趣的:(java)