JDK9でのTry-with-resourcesを試してみる

NetBeansがJDK9に対応しているようなのでこの記事A New Try-with-resources Improvement in JDK 9 | Voxxedをちょっと試してみました。

  • try (reader)と実装できるのは嬉しいのですが、tryブロックを結局2つ書かないといけない?
    void test() {
        Path path = Paths.get("/Users", "tomo", "test.txt");
        try {
            BufferedReader reader = Files.newBufferedReader(path); // <--- この箇所
            try (reader) {
                String line = null;
                while ((line = reader.readLine()) != null){
                    System.out.println(line);
                }
            }
        } catch (IOException e) {
            Logger.getLogger(First9.class.getName()).log(Level.SEVERE, null, e);
        }
    }

実行結果

Javaの実装が改善されていくのは、すごく楽しいです!