1

我正在尝试从 java 在外部编辑器中打开文件,但是当我运行我的源代码时,什么也没有发生。我使用的是 JRE 1.6,我的操作系统是 Windows 7。这是我的源代码:

Desktop desktop = null;
if (Desktop.isDesktopSupported()) {
  desktop = Desktop.getDesktop();
}

 desktop.edit(new File("D:\\Document.rtf"));
4

2 回答 2

1

以下内容也应该起作用:

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);
    }
于 2012-05-27T14:40:14.400 回答
0
  • 你读过 API

公共无效编辑(文件文件)抛出 IOException

启动关联的编辑器应用程序并打开一个文件进行编辑。

参数:file - 要打开以进行编辑的文件 抛出:NullPointerException - 如果指定的文件为 null IllegalArgumentException - 如果指定的文件不存在 UnsupportedOperationException - 如果当前平台不支持 Desktop.Action.EDIT 操作 IOException - 如果指定的文件没有关联的编辑器,或者关联的应用程序启动失败lang.String) 方法拒绝对文件的写访问,或者它拒绝 AWTPermission("showWindowWithoutWarningBanner") 权限,或者调用线程不允许创建子进程另见:AWT权限

于 2012-05-27T14:38:38.847 回答