全部,
我试图确保在捕获 IOException 时关闭使用 BufferedReader 打开的文件,但看起来好像我的 BufferedReader 对象超出了 catch 块的范围。
public static ArrayList readFiletoArrayList(String fileName, ArrayList fileArrayList)
{
fileArrayList.removeAll(fileArrayList);
try {
//open the file for reading
BufferedReader fileIn = new BufferedReader(new FileReader(fileName));
// add line by line to array list, until end of file is reached
// when buffered reader returns null (todo).
while(true){
fileArrayList.add(fileIn.readLine());
}
}catch(IOException e){
fileArrayList.removeAll(fileArrayList);
fileIn.close();
return fileArrayList; //returned empty. Dealt with in calling code.
}
}
Netbeans 抱怨它在 catch 块中“找不到符号 fileIn”,但我想确保在 IOException 的情况下 Reader 被关闭。如果没有第二个 try/catch 结构的丑陋,我怎么能做到这一点?
对于这种情况下的最佳实践的任何提示或指示,我们将不胜感激,