黑马程序员技术交流社区

标题: IO的各种流的关闭顺序 [打印本页]

作者: hanxing    时间: 2014-10-24 18:18
标题: IO的各种流的关闭顺序
本帖最后由 hanxing 于 2014-11-12 12:32 编辑

InputStream  in=new FileInputStream("xxx.txt");//字节输入流
InputStreamReader inputStreamReader=new InputStreamReader(in);//字节转换流
BufferedReader bufferedReader =new BufferedReader(inputStreamReader);//缓冲流

他们对应的关闭顺序是怎样的?我怎么感觉关闭顺序对他们没有影响,
还有对应的三个输出流,
有的老师说,输入流是从外到里关,输出流是从里面往外关,有点晕了.求大神帮助


作者: zd12345    时间: 2014-10-25 14:04
InputStream  in=new FileInputStream("xxx.txt");//字节输入流
InputStreamReader inputStreamReader=new InputStreamReader(in);//字节转换流
BufferedReader bufferedReader =new BufferedReader(inputStreamReader);//缓冲流

这三个是一个流,第一行是新建一个字节输入流,第二行是把这个流转换为字符流,第三行是为这个流加缓冲。关闭的时候只需在缓冲中关闭就可以了,即执行bufferedReader.close()即可。上面三句可以写成下面的形式:

BufferedReader bufferedReader =new BufferedReader(new InputStreamReader(new FileInputStream("xxx.txt")));

关闭的时候只关闭bufferedReader即可。
作者: hanxing    时间: 2014-10-25 14:55
zd12345 发表于 2014-10-25 14:04
InputStream  in=new FileInputStream("xxx.txt");//字节输入流
InputStreamReader inputStreamReader=new  ...

原来是这样,




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2