admin 管理员组

文章数量: 1087677

通过url下载文件保存到指定的不存在目录下

通过url下载文件保存到指定的不存在目录下

从网络Url中下载文件

/*** 从网络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.mkdirs();}File file = new File(saveDir+File.separator+fileName);file.canWrite();FileOutputStream fos = new FileOutputStream(file);fos.write(getData);fos.flush();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();}

test

public static void main(String[] args) {try{list.stream().forEach(e->{try {downLoadFromUrl(e,UUID.randomUUID().toString().replaceAll("-","")+".jpg","d:/resource/images/diaodiao/country/");} catch (IOException ex) {}});}catch (Exception e) {// TODO: handle exception}}

本文标签: 通过url下载文件保存到指定的不存在目录下