【发布时间】:2018-05-16 05:10:55
【问题描述】:
我正在尝试声明一个 BufferedReader 以便从 .txt 文件中读取信息。我通过以下方式声明它:
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(new File("input-file.txt"))));
现在,我有一个小问题,因为如果我没有在 try/catch 块中声明它,Java 会抱怨 - 毕竟,不能保证系统会找到输入文件,所以我需要捕获任何抛出 IOException。但是,如果我将该声明放在 try-catch 块中,那么 Java 也会抱怨;我稍后使用 .readLine() 方法引用 br,并且由于 br 是在 try/catch 块中声明的,因此不能保证会创建 BufferedReader。但是,如果我尝试将 BufferedReader 从 try/catch 块中取出以确保它已创建,那么我将无法捕获 IOException...如何摆脱这个陷阱?
【问题讨论】:
-
我不明白你说的catch-22;我之前没有问题地创建了流的读者。您能否发布您认为会创建 catch-22 或尽可能接近它的确切代码?否则,我们只能猜测您的实际问题是什么。
-
同意@yshavit...没有看到代码,不清楚确切的问题是什么。另外,不要说“Java 抱怨”。 Java 没有抱怨;它为您提供了有关错误的具体信息,您需要与我们分享。
标签: java bufferedreader