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时顺带关闭了其他几个流。
通过求教老师确认推断属实,如果后续应用时出现错误将继续探究勘误。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)