1

我想让一个 java 程序女巫自动打开一个指定的程序到一个给定的文件,例如一个 mp4 文件应该用转换器打开以将其转换为 avi

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

4

3 回答 3

5

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

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。

于 2012-05-16T20:18:56.200 回答
1

您可以使用 Process.exec() 使用所需的任何文件运行所需的任何程序

(实际上让它打开默认程序更棘手恕我直言)

于 2012-05-16T20:13:04.447 回答
1

您将需要使用Runtime.exec()方法,但您必须事先阅读When Runtime.exec() 不会。您要运行的程序必须接受代表要打开的文件的 exec 参数。

我知道这不是您问题的答案,但是如果您想使用默认应用程序(由操作系统注册)打开文件,您应该使用java.awt.Desktop类的“打开”方法。

于 2012-05-16T20:27:14.793 回答