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 上使用 bat 文件和 Unix 上的等效文件一起破解某些东西,但这不会那么有趣。

我认为您最好的选择是JDesktop 集成组件 (JDIC)。特别是,Desktop类具有您正在寻找的方法。

编辑:显然,我落后于时代,因为它已被集成到 Java 1.6 中。无论如何,如果您使用的是较早的 Java,它可能仍然有用。

于 2008-12-24T04:34:14.853 回答