使用try與資源我有這樣的方法,其中我使用了Java的資源嘗試SE 7錯誤而在Java
private void generateSecretWord(String filename){
try (FileReader files = new FileReader(filename)){
Scanner input = new Scanner(files);
String line = input.nextLine();
String[] words = line.split(",");
Collections.shuffle(Arrays.asList(words));
if (words[0].length()>1){
secretWord = words[0];
return;
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
finally {
if (files!=null) files.close();
}
}
我得到的編譯錯誤finally
塊files cannot be resolved to a variable
我在文件中引用try with block
。爲什麼我得到這個錯誤以及如何解決它?
感謝
意思是不需要的或''一個塊finally'直接關閉files'是不需要 – eagertoLearn
@ user2708477這意味着不需要'finally'塊來關閉資源。如果您需要做其他事情,即使發生「異常」也不能跳過,那麼您仍然需要一個「finally」塊。但是,如果您只是想確保文件在任何情況下都會被關閉,您不需要一個文件,因爲這會隱式完成。 – noone