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 @ 2023-03-29 23:25  那种事情不要啊  阅读(78)  评论(0)    收藏  举报