本人微信公众号"aeolian"~

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));
            }

 

点赞

Leave a Reply

Your email address will not be published. Required fields are marked *