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