我目前正在编写一个可以在我的电脑上打开.exe程序的Java程序,例如MS Word。 我遇到了问题,因为Runtime.getRuntime()。exec()只会成功打开某些程序。我已经为所有程序使用了完全相同的代码,但无论如何,某些程序无法打开。
以下是我下载的程序代码,Picasa 3:
class picasaHandler implements ActionListener
{
public void actionPerformed(ActionEvent r)
{
try
{
Runtime.getRuntime().exec("cmd /c start Picasa3.exe");
}
catch (IOException t)
{
JOptionPane.showMessageDialog(null,
"Sorry, could not find Picasa 3");
}
}
}
所以我的问题是,为什么不运行Runtime.getRuntime()。exec()运行我使用它的所有程序,以及如何运行像Picasa 3这样的程序,我现在用这种方法无法运行。
答案 0 :(得分:4)
我猜测Picasa3.exe不在你的%PATH%上,所以它不知道如何加载它。您是否尝试过指定Picasa3.exe的完整路径?
Runtime.getRuntime().exec("cmd /c \"c:\\program files (x86)\\Google\\Picasa3\\Picasa3.exe\"")
答案 1 :(得分:1)
File file=new File("picassa3");
String filename=file.getAbsolutePath(file);
try
{
Runtime.getRuntime().exec(filename);
}
catch (IOException t)
{
JOptionPane.showMessageDialog(null,
"Sorry, could not find the file");
}
答案 2 :(得分:0)
运行时的exec只能启动Windows路径上的应用程序。有些程序会自动在路径上,而其他程序(如Picasa)则不会。
唯一的解决方法是确定正确的路径,然后启动该应用程序。
答案 3 :(得分:0)
这可能适合你。 如果要使用Runtime.exec()运行某个程序,只需将其安装路径添加到系统变量中的路径变量即可。要找到它的安装路径,只需右键单击它的快捷方式并选择“查找目标”。然后在路径末尾连接整个地址变量。