这是我试过的:
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);
}
}
我一直在收到错误:
不能对非静态方法进行静态引用。
答案 0 :(得分:4)
执行以下操作
public void hello() {
if (Desktop.isDesktopSupported()) {
Desktop desktop = Desktop.getDesktop();
desktop.open(myFile);
}
}
由于方法open()
不是静态的,因此您无法在Desktop
Desktop.open()
上静态调用它。你必须在一个实例上调用它,你可以使用Desktop.getDesktop()
获得静态的实例。
open(File)
方法本身将启动与文件扩展名关联的应用程序,它可能无法像.bat
那样运行文件。