1

您好我正在尝试使用 java 程序打开 word 文件。该程序给了我以下错误”

Cannot make a static reference to the non-static method open(File) from the type Desktop

我不知道如何解决这个问题。你能帮我么。谢谢。下面是代码片段。

@Override
public void actionPerformed(ActionEvent e) {
    List<File> files;
    File startingDirectory = new File("C:/Hello/");
    try {
        files = getFileListing(startingDirectory);
        for (File file : files){
            Desktop.open(file);
        }

    } catch (FileNotFoundException ex) {
        System.out.println("File Not Found");
}
4

2 回答 2

1

尝试

Desktop.getDesktop().open(file);

反而

您还应该进行检查Desktop.isDekstopSupported以确保您尝试执行的功能存在

于 2012-08-12T23:42:29.593 回答
1

您需要先实例化一个Desktop对象,如下所示:

Desktop d = Desktop.getDesktop();

之后,您可以在桌面对象上调用实例方法,如下所示:

d.open(file);

在您的代码中,您试图在class上调用实例方法,但这是行不通的。可以在类上调用的唯一方法是静态方法,所有其他方法都需要在相应类的实例上调用。open() Desktop

于 2012-08-12T23:42:59.857 回答