Process
ProcessBuilder.start() 和 Runtime.exec 方法创建一个本机进程,并返回 Process 子类的一个实例,该实例可用来控制进程并获得相关信息。
ProcessBuilder
此类用于创建操作系统进程。
Runtime
每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。
一.使用ProcessBuilder
通过ProcessBuilder创建操作系统进程,启动Chrome,这种方式比较灵活,可以代入启动参数:
String path = "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe";
String target = "http://www.rumoss.cn";
List<String> cmd = new ArrayList<String>();
cmd.add(path);
//cmd.add("--no-first-run");
cmd.add("--start-maximized");// 窗口启动最大化
cmd.add("--incognito");// 隐身模式打开
cmd.add("--user-data-dir=D:/test");
cmd.add(target);
ProcessBuilder process = new ProcessBuilder(cmd);
process.start();
二.使用Runtime
通过命令行启动,跟我们在cmd下执行,效果是一样的:
String command = "cmd /c start http://www.rumoss.cn";
Runtime.getRuntime().exec(command);
三.其他的方式,调用桌面默认的浏览器
通过Desktop和Desktop.Action.BROWSE,使用默认方式打开:
String path = "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe";
String target = "http://www.rumoss.cn";
if(Desktop.isDesktopSupported()) {
URI uri = URI.create(target);
Desktop desktop = Desktop.getDesktop();
if(desktop.isSupported(Desktop.Action.BROWSE)) {
desktop.browse(uri);
}
}