1

I am trying to open file in external editor from java, but when i run my source code, nothing happens. I am using JRE 1.6 and my opration system is Windows 7. Here is my source code:

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を読みましたか

public void edit(File file) は IOException をスローします

関連するエディタ アプリケーションを起動し、編集用にファイルを開きます。

パラメータ: file - 編集のために開かれるファイル スロー: NullPointerException - 指定されたファイルが null の場合 IllegalArgumentException - 指定されたファイルが存在しない場合 UnsupportedOperationException - 現在のプラットフォームが Desktop.Action.EDIT アクションをサポートしていない場合 IOException - 場合指定されたファイルにエディタが関連付けられていないか、関連付けられたアプリケーションの起動に失敗しましたlang.String) メソッドがファイルへの書き込みアクセスを拒否しているか、AWTPermission("showWindowWithoutWarningBanner") パーミッションを拒否しているか、呼び出しスレッドがサブプロセスの作成を許可されていません。AWTパーミッション

于 2012-05-27T14:38:38.847 に答える