java打开浏览器

本文介绍了一个使用Java实现的跨平台URL打开器,能够根据不同操作系统(MacOS、Windows、Unix/Linux)调用相应的默认浏览器打开指定URL。该程序通过反射机制调用苹果系统的文件管理器,在Windows中调用rundll32,并在Unix/Linux环境中查找并启动常见的浏览器。
 import java.lang.reflect.Method;
import javax.swing.JOptionPane;
/**
* java打开浏览器
* @author wzf
* 2008-7-23 上午09:16:23
*/
public class URLOpener
{
/**
  * test
  * @param args
  */
public static void main(String args[])
{
  openURL(" http://baidu.com ");
}
/**
  *
  * @param url
  */
public static void openURL(String url)
{
  String osName = System.getProperty("os.name");
  try {
   if(osName.startsWith("Mac OS"))
   {
    //doc
    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
   {
    //assume Unix or Linux
    String[] browsers = {
      "firefox", "opera", "konqueror",
      "epiphany", "mozilla", "netscape"};
    String browser = null;
    for(int count = 0; count < browsers.length && browser == null;count++)
    {
     if(Runtime.getRuntime().exec(
       new String[] {"which", browsers[count]}).waitFor() == 0)
     {
      browser = browsers[count];
     }
    }
    if(browser != null)
    {
     Runtime.getRuntime().exec(new String[] {browser, url});
    }
   }
  }
  catch(Exception ex)
  {
   ExpWork.doExp(ex);
  }
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值