java打开windows系统的浏览器

获得百度的数据有两种方式,一种是用Url从流中获得,另一种是直接打开浏览器.文字识别(OCR)后再转码可以快速百度

    public static void main(String[] args) throws IOException {        //url链接地址
        String localpath = "http://www.baidu.com/s?tn=ichuner&lm=-1&word=" +
                URLEncoder.encode("江苏省会", "gb2312") + "&rn=1";
        URL url = new URL(localpath);        //根据url直接获得返回的数据
        BufferedReader breaded = new BufferedReader(new InputStreamReader(url.openStream(),"UTF-8"));        while ( breaded.readLine() != null) {    //打印这些数据            System.out.println(breaded.readLine());
        }        //获得系统类型
        String osName = System.getProperty("os.name", "");
        System.out.println(osName);        if (osName.startsWith("Windows")) {    //如果是windows系统
            Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + localpath);    //打开浏览器        }
    }

   Process process = Runtime.getRuntime().exec()       //调用电脑的命令

process.waitFor();      //等待此进程执行完毕,为了返回结果
         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[]{path});
            } else if (osName.startsWith("Windows")) {                //windows的打开方式。
                Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + path);
            } else if (osName.startsWith("Linux")) {                //Linux的打开方式
                Desktop desktop = Desktop.getDesktop();
                desktop.browse(URI.create(path));
            }

 

上一篇:httprunner 2.x学习6-参数化与数据驱动


下一篇:HTTP1.0、HTTP1.1 和 HTTP2.0 的区别