为什么eclipse说扫描仪永远不会被关闭?

时间:2015-11-06 22:18:16

标签: java eclipse

Eclipse说扫描仪永远不会关闭,并提示我禁止它,但它已关闭。

public boolean hasPlayerAlreadyJoined(Player p) {
    try {
        Scanner scanner = new Scanner(joinedPlayers);
        while (scanner.hasNextLine()) {
            String name = scanner.nextLine();
            if (name.equals(p.getName())) {
                return true;
            }
        }
        scanner.close();
    } catch(Exception e){}
    return false;
}

我猜这是因为while循环,但我之前从未遇到过这样的错误。我做错了吗?

1 个答案:

答案 0 :(得分:1)

scanner.close();放在a finally子句中,以便最后调用它。这是最佳方式:

Scanner scanner = new Scanner(joinedPlayers);
try {
   ....
}
catch(...) {
   ....
}
finally {
    scanner.close();
}