0

这是我尝试过的:

import java.awt.Desktop;

public class File {
    static java.io.File myFile = new java.io.File("C:/Users/me/Desktop/file.bat");
    public void hello(){
        Desktop.open(myFile);
    }
}

我不断收到错误:

不能对非静态方法进行静态引用。

4

1 回答 1

4

请执行下列操作

public void hello() {
    if (Desktop.isDesktopSupported()) {
        Desktop desktop = Desktop.getDesktop();
        desktop.open(myFile);
    }
}

由于该方法open()不是静态的,因此您不能在Desktoplike上静态调用它Desktop.open()。你必须在一个实例上调用它,你可以使用Desktop.getDesktop()它是静态的。

open(File)方法本身将启动与文件扩展名关联的应用程序,它可能不会像您期望的那样运行文件.bat

于 2013-03-28T14:34:37.040 回答