我正在尝试从 java 在外部编辑器中打开文件,但是当我运行我的源代码时,什么也没有发生。我使用的是 JRE 1.6,我的操作系统是 Windows 7。这是我的源代码:
Desktop desktop = null;
if (Desktop.isDesktopSupported()) {
desktop = Desktop.getDesktop();
}
desktop.edit(new File("D:\\Document.rtf"));
以下内容也应该起作用:
Runtime.getRuntime().exec( "cmd /C D:\\Document.rtf" );
或者
Runtime run = Runtime.getRuntime();
String lcOSName = System.getProperty("os.name").toLowerCase();
boolean MAC_OS_X = lcOSName.startsWith("mac os x");
if (MAC_OS_X) {
run.exec("open " + file);
} else {
//run.exec("cmd.exe /c start " + file); //win NT, win2000
run.exec("rundll32 url.dll, FileProtocolHandler " + path);
}
启动关联的编辑器应用程序并打开一个文件进行编辑。
参数:file - 要打开以进行编辑的文件 抛出:NullPointerException - 如果指定的文件为 null IllegalArgumentException - 如果指定的文件不存在 UnsupportedOperationException - 如果当前平台不支持 Desktop.Action.EDIT 操作 IOException - 如果指定的文件没有关联的编辑器,或者关联的应用程序启动失败lang.String) 方法拒绝对文件的写访问,或者它拒绝 AWTPermission("showWindowWithoutWarningBanner") 权限,或者调用线程不允许创建子进程另见:AWT权限
你有没有测试并打印 StackTrace
a) UnsupportedOperationException
b)安全异常