0

2つの質問があります。Runtime.getRuntime().exec()メソッドがリソースを取得するディレクトリはどこですか?

を呼び出している場合Runtime.getRuntime().exec("notepad.exe")、Windows エディターが起動するのはなぜですか? javaはどこから.exeソースを取得しますか?

この質問に基づいて、ユーザーがエディターでファイルを開きたい場合、どのエディターを好み、使用したいかをユーザーに選択させる必要があります。彼はnotepad.exeorultraedit.exeのようなものを書くだけで、選択したファイルはここに書き留めたエディターで開かれます。現在、このメソッドでファイルを開いています

public void open(String path) {
    try {
        if(new File(path).exists())
            Runtime.getRuntime().exec("notepad.exe " + path);
    } catch (IOException e) {
        e.printStackTrace();
    }
}

ご覧のとおり、すべてのファイルがメモ帳内で開かれます。しかし、私はこのようなものが必要です:

public void open(String program, String path) {
    try {
        if(new File(path).exists())
            Runtime.getRuntime().exec(program + " " + path);
    } catch (IOException e) {
        e.printStackTrace();
    }
}

.exeファイルを呼び出すだけで、異なるエディターでtxtファイルを開く可能性はありますか?

4

2 に答える 2

1
Where does java gets the .exe source from?

Javaについてではありません。PATHオペレーティング システムの環境変数を確認してください。すべてのexeファイルのパスがあります。これを試して

1) コマンドを開く

2) タイプc:\> echo %PATH%

2番目はPATH変数の値を教えてくれます

So is there any possibility to open txt files in different editors, by just calling their .exe file?

はい、PATH変数を編集して、他のエディターのexeファイルのパスを含めます(セミコロンを使用してから、環境へのパスを追加します既存の文字列を置き換えません)、Javaプログラムは同じままです

于 2012-12-11T11:09:51.543 に答える
1

Runtime.exec()から情報を取得しますPATH。そこにあるプログラムは、あなたが示したように実行できます。

于 2012-12-11T11:09:33.390 に答える