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";Listcmd = new ArrayList ();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); }}