通过URL下载文件

做项目过程中,需要根据别人提供的URL去下载附件。 
Java代码   收藏代码
  1. // 建立连接  
  2. HttpClient client = new HttpClient();  
  3. client.getHttpConnectionManager().getParams().setConnectionTimeout(5000);  
  4.   
  5. HttpMethod method = null;  
  6. // 获得文件流  
  7. method = new GetMethod(url);  
  8. client.executeMethod(method);  
  9.   
  10. // 打印http交互信息  
  11. printHttpInteractInfo(method);  
  12.   
  13.    // 获取文件流  
  14.    InputStream inputStream = method.getResponseBodyAsStream();  


开始是用的apache的httpclient组件,后来发现还需支持FTP协议的URL,还有httpclient用get请求不支持包含中文的url。 

后来发现java本身的URLConnection很好的满足项目的需求,因为只是简单的去请求,然后获得响应的内容。 

Java代码   收藏代码
  1. URL url = new URL(url);  
  2.   
  3. URLConnection conn = url.openConnection();  
  4. conn.setConnectTimeout(5000);  
  5. // 获取文件流  
  6. InputStream inputStream = conn.getInputStream();  


还有我发现InputStream.available()获取字符流长度的时候,总是为0,而conn.getContentLength()可以获取到文件的长度。

你可能感兴趣的:(通过URL下载文件)