嗨我试图用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");
}
答案 0 :(得分:1)
尝试
Desktop.getDesktop().open(file);
代替
您还应该检查Desktop.isDekstopSupported
以确保您尝试执行的功能存在
答案 1 :(得分:1)
您需要首先实例化Desktop
对象,如下所示:
Desktop d = Desktop.getDesktop();
在之后,您可以在桌面对象上调用实例方法,如下所示:
d.open(file);
在您的代码中,您尝试在类 open()
上调用实例方法Desktop
,但这不起作用。可以在类上调用的唯一方法是 static 方法,需要在相应类的实例上调用所有其他方法。