我只想知道如何知道与任何外部程序/文件关联的默认程序。对于ex,默认情况下,java文件打开哪个程序?我必须知道使用Java程序本身。
答案 0 :(得分: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
命令进行特定扩展并获取相应的映射。
此时,您获得了属性对象中的所有映射。 享受!
答案 1 :(得分: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);
}