从java打开文件编辑器

时间:2012-05-27 14:28:23

标签: java file desktop edit

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

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

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

2 个答案:

答案 0 :(得分: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);
    }

答案 1 :(得分:0)

  • 你读过API

public void edit(File file) throws IOException

  

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

     

参数:           file - 要打开以进行编辑的文件      抛出:           NullPointerException - 如果指定的文件为null           IllegalArgumentException - 如果指定的文件不存在           UnsupportedOperationException - 如果当前平台不支持Desktop.Action.EDIT操作           IOException - 如果指定的文件没有关联的编辑器,或者关联的应用程序无法启动           SecurityException - 如果存在安全管理器且其SecurityManager.checkRead(java.lang.String)方法拒绝对该文件的读访问,或者SecurityManager.checkWrite(java.lang.String)方法拒绝对该文件的写访问,或者它拒绝AWTPermission(“showWindowWithoutWarningBanner”)权限,或者不允许调用线程创建子进程       也可以看看:           的AWTPermission