本文主要是介绍Java IO BufferedInputStream和BufferedOutputStream,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
BufferedInputStream 的作用是为另一个输入流添加一些功能,例如,提供“缓冲功能”以及支持“mark()标记”和“reset()重置方法”。
BufferedInputStream 本质上是通过一个内部缓冲区数组实现的。例如,在新建某输入流对应的BufferedInputStream后,当我们通过read()读取输入流的数据时,BufferedInputStream会将该输入流的数据分批的填入到缓冲区中。每当缓冲区中的数据被读完之后,输入流会再次填充数据缓冲区;如此反复,直到我们读完输入流数据位置。
例子:
public static void main(String[] args) throws Exception {File file=new File("d:"+File.separator+"text.txt");FileInputStream in = new FileInputStream(file);BufferedInputStream bufferedInput = new BufferedInputStream(in);byte[] buffer = new byte[1024];int len;while ( (len = bufferedInput.read(buffer)) != -1 ) {System.out.println(new String(buffer, 0, len));}bufferedInput.close();in.close();}
BufferedOutputStream类实现缓冲的输出流。通过设置这种输出流,应用程序就可以将各个字节写入底层输出流中,而不必针对每次字节写入调用底层系统。
例子:
public static void testout() throws Exception {File file = new File("d:" + File.separator + "text.txt");String msg = "xxxxxsadaasda";// 创建文件输出流对象,如果不存在output.txt文件,则创建该文件BufferedOutputStream output = new BufferedOutputStream(new FileOutputStream(file));// 将消息写入到输出流output.write(msg.getBytes());output.close();}
这篇关于Java IO BufferedInputStream和BufferedOutputStream的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!