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);//将指定的字节写入此缓冲的输出流。