文章内容
一、方法一:利用java.lang.ProcessBuilder类创建系统进程的能力,通过浏览器地址启动浏览器,并将网址作为参数传送给浏览器
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 | /** * 利用java.lang.ProcessBuilder类创建系统进程的能力,通过浏览器地址启动浏览器,并将网址作为参数传送给浏览器。 * ProcessBuilder类是J2SE * 1.5在java.lang中新添加的一个新类,此类用于创建操作系统进程,它提供一种启动和管理进程(也就是应用程序)的方法。 */ public class OpenExplorerTest1 { public static void main(String args[]) { try { ProcessBuilder proc = new ProcessBuilder( "C:Program FilesInternet Exploreriexplore.exe" , proc.start(); } catch (Exception e) { System.out.println( "Error executing progarm." ); } } } |
二、方法二:Java调用系统默认浏览器打开链接
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 | /** * java调用系统默认浏览器打开链接 */ public class OpenExplorerTest2 { public static void main(String args[]) { if (java.awt.Desktop.isDesktopSupported()) { try { // 创建一个URI实例 // 获取当前系统桌面扩展 java.awt.Desktop dp = java.awt.Desktop.getDesktop(); // 判断系统桌面是否支持要执行的功能 if (dp.isSupported(java.awt.Desktop.Action.BROWSE)) { // 获取系统默认浏览器打开链接 dp.browse(uri); } } catch (Exception e) { e.printStackTrace(); } } } } |
三、方法三:Java调用系统默认浏览器打开链接
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 | import java.io.IOException; /** * java调用系统默认浏览器打开链接 * * @author Administrator * */public class OpenExplorerTest3 { public static void main(String args[]) { try { Runtime.getRuntime().exec( "cmd /c start http://bbs.csdn.net/topics/390157559 "); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } |
四、方法四:Java调用系统默认浏览器打开链接
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | import java.io.IOException; import java.lang.reflect.Method; /** * java调用系统默认浏览器打开链接 */ public class OpenExplorerTest4 { // 主方法 测试类 public static void main(String[] args) { try { OpenExplorerTest4.browse(url); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } private static void browse(String url) throws Exception { // 获取操作系统的名字 String osName = System.getProperty( "os.name" , "" ); if (osName.startsWith( "Mac OS" )) { // 苹果的打开方式 Class fileMgr = Class.forName( "com.apple.eio.FileManager" ); Method openURL = fileMgr.getDeclaredMethod( "openURL" , new Class[] { String. class }); openURL.invoke( null , new Object[] { url }); } else if (osName.startsWith( "Windows" )) { // windows的打开方式。 Runtime.getRuntime().exec( "rundll32 url.dll,FileProtocolHandler " + url); } else { // Unix or Linux的打开方式 String[] browsers = { "firefox" , "opera" , "konqueror" , "epiphany" , "mozilla" , "netscape" }; String browser = null ; for ( int count = 0 ; count < browsers.length && browser == null ; count++) // 执行代码,在brower有值后跳出, // 这里是如果进程创建成功了,==0是表示正常结束。 if (Runtime.getRuntime() .exec( new String[] { "which" , browsers[count] }) .waitFor() == 0 ) browser = browsers[count]; if (browser == null ) throw new Exception( "Could not find web browser" ); else // 这个值在上面已经成功的得到了一个进程。 Runtime.getRuntime().exec( new String[] { browser, url }); } } } |
五、方法五:通过获取环境变量的浏览器路径,然后启动浏览器
01 02 03 04 05 06 07 08 09 10 11 12 | private static void browse3(String url) throws Exception { String firefox = "C:Program FilesMozilla Firefoxfirefox.exe" ; Map map = System.getenv(); for (Object key : map.keySet()) { String value = (String) map.get(key); if (value.contains( "firefox.exe" )) { firefox = value; break ; } } Runtime.getRuntime().exec( new String[]{firefox, url}); } |