Try-With-Resources示例,编译失败。代码中有什么问题

时间:2014-03-21 06:28:32

标签: java compiler-errors java-7

import java.io.*;

public class TryWithResources {
    public static void main(String[] args) {
        try (BufferedReader br = new BufferedReader(new FileReader("C:\\testing.txt"))) 
        {
            String line;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

控制台上的错误消息。我使用的是SpringSource Tool Suite(STS)IDE 2.7.2版。

Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
    Syntax error on token "(", { expected
    Syntax error on token ")", ; expected
    Syntax error, insert "}" to complete Block
    at TryWithResources.main(TryWithResources.java:9)

第9行是

try (BufferedReader br = new BufferedReader(new FileReader("C:\\testing.txt")))

2 个答案:

答案 0 :(得分:0)

代码没有问题。确保使用Java 7编译器

进行编译

答案 1 :(得分:0)

鉴于编译错误,您为Java 6或更低版本编译。在项目设置中更改它。


此外,由于您使用的是Java 7,因此应使用Files

try (
    final BufferedReader reader = Files.newBufferedReader(Paths.get("C:\\testing.txt"),
        StandardCharsets.UTF_8);
) {
    // do your stuff
}

请注意,它要求您指定读取文件的编码...