我正在尝试从我的 java 程序中在 firefox(或只是一个新窗口)中打开一个新选项卡。我正在将代码从 Ubuntu 转移到 Windows 7。我正在做这样的事情,但它抛出了一个异常。
Runtime rt = null;
...
rt = Runtime.getRuntime();
...
rt.exec("C:\\Program Files\\Mozilla Firefox\\firefox.exe");
你可能想看看这个java.awt.Desktop.browse(URI uri)
方法。这会在系统的默认浏览器中打开给定的 uri,并且它也可以在非 Windows 系统上运行。
以下对我有用,可以打开 Firefox 和 google.com 的新标签
rt.exec("C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe google.com");
打开浏览器有统一的方式:(至少它在我的桌面上就像一个魅力)
// Start browser
if (Desktop.isDesktopSupported()) {
Desktop dt = Desktop.getDesktop();
if (dt.isSupported(Desktop.Action.BROWSE)) {
File f = new File(filePath);
dt.browse(f.toURI());
}
}
对于 Windows,您可以尝试以下操作。
rt.exec("cmd /c C:/Program Files/Mozilla Firefox/firefox.exe");
或者
String[] commands = {"cmd", "/c", "C:/Program Files/Mozilla Firefox/firefox.exe"};
rt.exec(commands);
上面提出的解决方案对我不起作用(win 10),但是一个小操作解决了我的问题(在/c前面添加刚刚开始
rt.exec("cmd /c start firefox");