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()方法的等待超时时间