注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

北漂的小羊

Java编程,开发者,程序员,软件开发,编程,代码。新浪微博号:IT国子监

 
 
 

日志

 
 
关于我

在这里是面向程序员的高品质IT技术学习社区,是程序员学习成长的地方。让我们更好地用技术改变世界。请关注新浪微博号: IT国子监(http://weibo.com/itguozijian)

网易考拉推荐

使用java调用浏览器打开一个URL网页实现  

2012-12-14 17:45:41|  分类: JAVA |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

BareBonesBrowserLaunch.java

从网上无意间看到的一个工具类,意思是打开一个URL,在不同的操作系统都通用。

1.使用

很简单:

Java代码 
  1. public static void main(String[] args) {
  2.     String url = "http://iteye.blog.163.com/";         
  3.     BareBonesBrowserLaunch.openURL(url);  
  4. }    

2.下面是BareBonesBrowserLaunch.java 的源码,虽然是别人写的,但看懂了也就成了自己的了。我去掉了一些影响阅读的代码,这样的话可以一眼看完。下载文件里面是没有动过的。

 

Java代码 
  1. /////////////////////////////////////////////////////////  
  2. //Bare Bones Browser Launch                            //  
  3. //Version 1.5 (December 10, 2005)                    //  
  4. //By Dem Pilafian                                                //  
  5. //支持: Mac OS X, GNU/Linux, Unix, Windows XP//  
  6. //可免费使用                                                        //  
  7. /////////////////////////////////////////////////////////  
  8.   
  9. /** 
  10.  * @author Dem Pilafian 
  11.  * @author John Kristian 
  12.  */  
  13. import java.io.IOException;  
  14. import java.lang.reflect.InvocationTargetException;  
  15. import java.lang.reflect.Method;  
  16. import javax.swing.JOptionPane;  
  17.   
  18. public class BareBonesBrowserLaunch {  
  19.   
  20.     public static void openURL(String url) {  
  21.         try {  
  22.             browse(url);  
  23.         } catch (Exception e) {  
  24.         }  
  25.     }  
  26.   
  27.     private static void browse(String url) throws Exception {  
  28.         //获取操作系统的名字  
  29.         String osName = System.getProperty("os.name""");  
  30.         if (osName.startsWith("Mac OS")) {  
  31.             //苹果的打开方式  
  32.             Class fileMgr = Class.forName("com.apple.eio.FileManager");  
  33.             Method openURL = fileMgr.getDeclaredMethod("openURL"new Class[] { String.class });  
  34.             openURL.invoke(nullnew Object[] { url });  
  35.         } else if (osName.startsWith("Windows")) {  
  36.            //windows的打开方式。  
  37.             Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + url);  
  38.         } else {  
  39.             // Unix or Linux的打开方式  
  40.             String[] browsers = { "firefox""opera""konqueror""epiphany""mozilla""netscape" };  
  41.             String browser = null;  
  42.             for (int count = 0; count < browsers.length && browser == null; count++)  
  43.                 //执行代码,在brower有值后跳出,  
  44.                 //这里是如果进程创建成功了,==0是表示正常结束。  
  45.                 if (Runtime.getRuntime().exec(new String[] { "which", browsers[count] }).waitFor() == 0)  
  46.                     browser = browsers[count];  
  47.             if (browser == null)  
  48.                 throw new Exception("Could not find web browser");  
  49.             else  
  50.                 //这个值在上面已经成功的得到了一个进程。  
  51.                 Runtime.getRuntime().exec(new String[] { browser, url });  
  52.         }  
  53.     }  
  54. }  
  评论这张
 
阅读(1490)| 评论(1)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016