17

ファイルがどのアプリケーションに関連付けられているかわからない場合に、Java アプリケーションからファイルを開くにはどうすればよいですか。また、私は Java を使用しているため、プラットフォームに依存しないソリューションを好みます。

4

3 に答える 3

42

JDK1.6 では、このjava.awt.Desktopクラスは便利です。

public static void open(File document) throws IOException {
    Desktop dt = Desktop.getDesktop();
    dt.open(document);
}
于 2008-12-24T04:55:09.600 に答える
5
File file
Desktop.getDesktop().open( file );

Java 1.6 以降

その前に、この質問を確認できます

概要

次のようになります。

Runtime.getRuntime().exec( getCommand( file ) );

public String getCommand( String file ){ 
    // Depending on the platform could be
    //String.format("gnome-open %s", fileName)
    //String.format("open %s", fileName)
    //String.format("cmd /c start %s", fileName)
    // etc. 
}
于 2008-12-24T04:59:58.357 に答える
2

Windows ではバット ファイルを、Unix では同等のファイルを使って何かをハックすることはできますが、それはそれほど楽しいことではありません。

あなたの最善の策はJDesktop Integration Components (JDIC)だと思います。特に、Desktopクラスにはまさに探しているメソッドがあります。

編集:どうやら、これはJava 1.6に統合されているため、私は時代遅れです。いずれにせよ、以前の Java で作業している場合は、まだ役に立つ可能性があります。

于 2008-12-24T04:34:14.853 に答える