通过URL下载文件

public class UrlUtil { /**      * 从网络Url中下载文件      * @param urlStr      * @param fileName      * @param savePath      * @throws IOException      */     public static void  downLoadFromUrl(String urlStr,String fileName,String savePath) throws IOException{         URL url = new URL(urlStr);           HttpURLConnection conn = (HttpURLConnection)url.openConnection();                   //设置超时间为3秒         conn.setConnectTimeout(3*1000);         //防止屏蔽程序抓取而返回403错误         conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");         //得到输入流         InputStream inputStream = conn.getInputStream();           //获取自己数组         byte[] getData = readInputStream(inputStream);             //文件保存位置         File saveDir = new File(savePath);         if(!saveDir.exists()){             saveDir.mkdir();         }         File file = new File(saveDir+File.separator+fileName);             FileOutputStream fos = new FileOutputStream(file);              fos.write(getData);          if(fos!=null){             fos.close();           }         if(inputStream!=null){             inputStream.close();         }         System.out.println("info:"+url+" download success");      }     /**      * 从输入流中获取字节数组      * @param inputStream      * @return      * @throws IOException      */     public static  byte[] readInputStream(InputStream inputStream) throws IOException {           byte[] buffer = new byte[1024];           int len = 0;           ByteArrayOutputStream bos = new ByteArrayOutputStream();           while((len = inputStream.read(buffer)) != -1) {               bos.write(buffer, 0, len);           }           bos.close();           return bos.toByteArray();       }       public static void main(String[] args) {         try{             downLoadFromUrl("http://dl.image.so.com/d?imgurl=http%3A%2F%2Fp0.so.qhimgs1.com%2Ft016122ec45c5fdc5fa.jpg&purl=http%3A%2F%2Fimage.so.com%2F%3Fsrc%3Ddl.image&key=56720eec95",                     "百度.jpg","d://");         }catch (Exception e) {             // TODO: handle exception         }     } }
相关文章
相关标签/搜索