我想自动制作一个java程序 打开指定程序到给定文件 例如,应使用Converter打开mp4文件,将其转换为avi
所以我的问题是: 是否可以使用给定的程序在java中打开文件,但不是默认的? 如果是的话,怎么样?
答案 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>