您的位置:首页 > Web前端

Java IO BufferedInputStream和BufferedOutputStream

2016-08-23 13:32 507 查看
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();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: