java打开浏览器访问网站

来源:互联网 发布:淘宝ip地址怎么查 编辑:程序博客网 时间:2024/05/21 00:16


看新浪微博SDK想到的。。

其实就是调用了Runtime类获取JVM环境,然后调用exec执行了windows/MAC/UNIX下的命令来实现的。


下面是网络上的一段代码,可用。


public class BareBonesBrowserLaunch {    public static void openURL(String url) {        try {            browse(url);        } catch (Exception e) {        }    }    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的打开方式。            System.out.println("111");            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 });        }    }    public static void main(String[] args) {        String url = "http://www.baidu.com";        BareBonesBrowserLaunch.openURL(url);    }}


原创粉丝点击