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();
		

-----