3

外部プログラム/ファイルに関連付けられているデフォルトのプログラムを知る方法を知りたいだけです。exの場合-デフォルトでは、Javaファイルはどのプログラムで開きますか?これは、Javaプログラム自体を使用して知っておく必要があります。

4

2 に答える 2

4

Windowsの場合

Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("ftype > %YOUR_DIRECTORY%\\type_program.properties");
Properties prop = new Properties();
InputStream in = getClass().getResourceAsStream("%YOUR_DIRECTORY%\\type_program.properties");
prop.load(in);

Unix \ Linuxの場合:

file特定の拡張子にコマンドを使用して、対応するマッピングを取得できます。

この時点で、プロパティオブジェクトのすべてのマッピングを取得しました。楽しい!

于 2012-07-04T10:50:42.820 に答える
0

関連するプログラムでファイルを開きたい場合は、Javaがjava.awt.Desktopクラスを使用して関連付けを行うことができるため、関連するプログラムを実際に知る必要はありません。

// application associated to a file extension
public static void open(File document) throws IOException {
    Desktop dt = Desktop.getDesktop();
    dt.open(document);
}
于 2012-07-04T10:55:26.017 に答える