Java输入输出文件操作学习笔记(一)

在学习Java的输入输出流的时候了解到开启一个流操作完了就要关闭,但是在学习一个例程时却发现它只关闭了缓冲流而没有关闭其他几个流,例程如下

复制代码
 1 import java.io.*; 
 2 
 3 public class BufferedIO {
 4     public static void main(String[] args) throws IOException {
 5         InputStreamReader isr = new InputStreamReader(System.in);
 6         BufferedReader br = new BufferedReader(isr);
 7         FileWriter fout = new FileWriter(".\\buffer.txt");
 8         BufferedWriter bout = new BufferedWriter(fout);
 9         String str;
10         while (true) {
11             str = br.readLine();
12             if (str.equals("end"))
13                 break;
14             bout.write(str);
15             bout.newLine();
16         }
17         bout.close();
18         FileReader fin = new FileReader(".\\buffer.txt");
19         BufferedReader bin = new BufferedReader(fin);
20         while ((str=bin.readLine())!=null)
21             System.out.println(str);
22         bin.close();
23     }
24 }
复制代码

例程来自高等教育出版社Java语言程序设计

不论是在idea还是在eclipse中都无报错或者警示

 

 

 

 因此推断可能是关闭缓冲流bout时顺带关闭了其他几个流。

通过求教老师确认推断属实,如果后续应用时出现错误将继续探究勘误。

posted @   那种事情不要啊  阅读(66)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示