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