BufferedInputStream 是缓冲输入流。它继承于FilterInputStream。 BufferedInputStream 的作用是为另一个输入流添加一些功能, BufferedInputStream 本质上是通过一个内部缓冲区数组实现的。例如,在新建某输入流对应的BufferedInputStream后,当我们通过read()读取输入流的数据时,BufferedInputStream会将该输入流的数据分批的填入到缓冲区中。每当缓冲区中的数据被读完之后,输入流会再次填充数据缓冲区;如此反复,直到我们读完输入流数据位置。
BufferedOutputStream 是缓冲输出流。它继承于FilterOutputStream。 BufferedOutputStream 的作用是为另一个输出流提供“缓冲功能”。
使用FileInput和FileOutputStream操作文件流http://blog.51cto.com/13758648/2301470
-----
//Buffered的read是带缓存的,可以减少硬盘读写的次数
FileOutputStream fos = new FileOutputStream("test.txt");
BufferedOutputStream buffer = new BufferedOutputStream(fos);
buffer.write("sdfggsgsgsg".getBytes());
buffer.close();
-----
FileInputStream fis = new FileInputStream("test.txt");
BufferedInputStream bis = new BufferedInputStream(fis);
byte[] buf = new byte[100];
int len = bis.read(buf);
System.out.println(new String (buf,0,len));
fis.close();
FileOutputStream fos = new FileOutputStream("test.txt");
OutputStreamWriter osw = new OutputStreamWriter(fos);
BufferedWriter bw = new BufferedWriter(osw);
osw.write("程沐喆");
// bw.write("chengmuzhe");
bw.close();
osw.close();
//
-----
//
FileInputStream fis = new FileInputStream("test.txt");
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader bf = new BufferedReader(isr);
System.out.println(isr.read());
System.out.println(bf.readLine());
bf.close();
isr.close();
-----