【发布时间】:2021-02-10 12:14:09
【问题描述】:
我正在编写代码来读取文件并对其进行处理,并且我正在将逻辑拆分为许多小方法。所以我有一个方法来读取文件并返回 BufferedReader 和另一个用返回的 BufferedReader 对象做逻辑。但是当我尝试在第二种方法中从 BufferedReader 对象中读取行时,它给了我 [java.io.IOException: Stream Closed]。
我用来读取文件并返回BufferedReader的方法
private static BufferedReader readFile(String file) {
try (FileInputStream fileInputStream = new FileInputStream(file)) {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(fileInputStream));
System.out.println(bufferedReader.readLine()); // this line is working successfully
return bufferedReader;
} catch (FileNotFoundException fileNotFoundException) {
fileNotFoundException.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
知道为什么会发生这种情况以及如何解决吗?
【问题讨论】:
-
try (FileInputStream fileInputStream = new FileInputStream(file))- 你觉得这里发生了什么? -
你也可以发布异常堆栈吗?
标签: java bufferedreader