3

我只是想知道如何知道与任何外部程序/文件关联的默认程序。对于 ex-默认情况下,一个 java 文件用哪个程序打开?我必须知道使用 Java 程序本身。

4

2 回答 2

4

窗户上

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 回答