我想让一个 java 程序女巫自动打开一个指定的程序到一个给定的文件,例如一个 mp4 文件应该用转换器打开以将其转换为 avi
所以我的问题是:是否可以使用给定的程序在 java 中打开文件,但不能使用默认程序?如果是,如何?
只要您知道确切的路径或程序具有已知的环境变量,就很容易:
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。
您可以使用 Process.exec() 使用所需的任何文件运行所需的任何程序
(实际上让它打开默认程序更棘手恕我直言)
您将需要使用Runtime.exec()
方法,但您必须事先阅读When Runtime.exec() 不会。您要运行的程序必须接受代表要打开的文件的 exec 参数。
我知道这不是您问题的答案,但是如果您想使用默认应用程序(由操作系统注册)打开文件,您应该使用java.awt.Desktop
类的“打开”方法。