字节缓冲流
1.BufferedOutputStream:该类实现缓冲输出流,通过设置这样的输出流,应用程序可以向底层输出流写入字节,而不必为写入的每个字节导致底层系统的调用
2.BufferedInputStream:创建BufferedIntputStream将创建一个内部缓冲去数组,当从流中读取或者跳过字节时,内部缓冲去将根据需要从所包含的输入流中重新填充,一次很多字节
构造方法:
字节缓冲输入流:BufferedOutputStream(OutputStream out):创建一个新的缓冲输出流,以将数据写入指定的底层输出流。
字节缓冲输出流:BufferedInputStream(InputStream in):创建一个 BufferedInputStream
并保存其参数,输入流 in
供以后使用。
为什么构造方法需要的时字节流而不是具体的文件名或者路径?
因为字节缓冲流仅仅提供缓冲区,而真正的读写数据还得依靠基本的字节流对象进行操作
public class Demo04 {
public static void main(String[] args) throws IOException {
//创建字节缓冲输入流
BufferedOutputStream bops=new BufferedOutputStream(new FileOutputStream(\"E:\\\\abc.txt\"));
//创建字节缓冲输出流
BufferedInputStream bips=new BufferedInputStream(new FileInputStream(\"E:\\\\abc.txt\"));
//写数据
bops.write(\"hello\\r\\n\".getBytes());
bops.write(\"world\\r\\n\".getBytes());
bops.close();
//读数据,方式一
int by;
while((by=bips.read())!=-1){
System.out.print((char)by);
}
System.out.println(\"------------------------------------------------\");
//方式二 一次读取一个字节数组
byte[]bytes=new byte[1024];
int len;
while((len=bips.read(bytes))!=-1){
System.out.print(new String(bytes,0,len));
}
bips.close();
}
}
来源:https://www.cnblogs.com/CYan521/p/16108093.html
本站部分图文来源于网络,如有侵权请联系删除。