使用非默认程序打开文件

时间:2012-05-16 20:10:06

标签: java file desktop

我想自动制作一个java程序 打开指定程序到给定文件 例如,应使用Converter打开mp4文件,将其转换为avi

所以我的问题是: 是否可以使用给定的程序在java中打开文件,但不是默认的? 如果是的话,怎么样?

3 个答案:

答案 0 :(得分:4)

只要你知道确切的路径或程序有一个已知的环境变量,它就很容易:

try
{
    Process p = Runtime.getRuntime().exec("notepad Q:/Test/tmp.txt");
    BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()));
    stdInput.close();
}
catch(Exception k)
{
    JOptionPane.showMessageDialog(null, k.getMessage());
}

这将在记事本中打开文件tmp。

答案 1 :(得分:1)

您可以使用Process.exec()

运行所需的任何文件

(实际上让它打开默认程序是比较棘手的恕我直言)

答案 2 :(得分:1)

您需要使用Runtime.exec()方法,但必须预先阅读When Runtime.exec() won't。要运行的程序必须接受表示要打开的文件的exec参数。

我知道这不是你问题的答案,但是如果你想使用默认应用程序(由OS注册)打开文件,你应该使用java.awt.Desktop类的“open”方法。 / p>