3

当我尝试使用新的 Java 7 try-with-resource 时,在 Eclipse 中的 try(BufferReader.. 行中出现“令牌语法错误”(“, { expected”)。这是直接复制的来自 java nio 教程http://download.oracle.com/javase/tutorial/essential/io/file.html

我已将构建路径配置为最新的 java7 位置,并且我知道它已正确配置,因为我正在使用 Path 和 SimpleFileVistor 等其他 java.nio 功能而没有任何问题。有什么建议么?谢谢!

        try(BufferedReader reader = Files.newBufferedReader(file, charset)) {
            String line = null;
            while ((line = reader.readLine()) != null) {
            System.out.println(line);
            }
        }catch (IOException x) {
            System.err.format("IOException in reading " + file.getFileName().toString()+ x);
        }

        return testCaseNames; 
4

2 回答 2

4

请检查项目属性中的编译器合规级别,它应该是 1.7。另外,您使用的是哪个版本的 Eclipse?目前仅在最近的版本中提供支持 - 请参阅http://thecoderlounge.blogspot.com/2011/07/java-7-support-in-eclipse-371-38-42.html

于 2011-08-06T18:57:19.830 回答
2

Path并且SimpleFileVisitor是库类,不需要任何特定的编辑器支持新语法。

在 Eclipse 中,编译类的不是 JDK,而是 Eclipse 自己的编译器JDT。这是应该支持新语法的语法,并且仅在 Eclipse 3.7 的最新版本中可用,而在您可以从正常下载页面下载的任何官方版本中都不可用。

于 2011-08-06T19:01:41.107 回答