HttpURLConnection这个类的说明

ok

        URL url = new URL(urlStr);
        HttpURLConnection conn = (HttpURLConnection)url.openConnection();
        //建立链接的超时时间,总所都周知,建立连接就是得到服务器的ip地址信息(如果知道ip地址,应该可以直接发送),这样就建立了一个通道
        conn.setConnectTimeout(6*1000);
        //建立了链接接收数据的超时时间,就好像,有人给我打电话,我接了,我和她之间建立通话的通道,但是对面不说话,我心想什么傻鸟,于是挂了电话
        conn.setReadTimeout(3*1000);
        // 设置此 HttpURLConnection 实例是否应该自动执行 HTTP 重定向
        conn.setInstanceFollowRedirects(true);

 

        //得到输入流
        InputStream inputStream = conn.getInputStream();
        BufferedInputStream bis = new BufferedInputStream(inputStream);
。。。
        while (!outTimeFlag) {
            for (int i = 0; (len = bis.read()) != -1&&i < 1520000; i++) {
                bos.write(len);
            }
            outTimeFlag=System.currentTimeMillis()-beginData>60000;
        }

这个bis.read()方法是会等待的,conn.setReadTimeout(3*1000)就是设置read()方法的等待超时时间

posted on 2023-02-08 18:38  影子BLH  阅读(30)  评论(0)    收藏  举报