All
Я пытаюсь убедиться, что файл, который я открыл с помощью BufferedReader, закрывается, когда я ловлю IOException, но кажется, что мой объект 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 жалуется, что «не может найти символ fileIn» в блоке catch, но я хочу убедиться, что в случае IOException, что Reader закроется. Как я могу сделать это без уродства второй конструкции try / catch вокруг первой?
Любые советы или указания относительно наилучшей практики в этой ситуации приветствуются,