Java读取并下载网络文件的方法
本文实例为大家分享了Java读取并下载网络文件的具体代码,供大家参考,具体内容如下
importjava.io.ByteArrayOutputStream; importjava.io.File; importjava.io.FileOutputStream; importjava.io.IOException; importjava.io.InputStream; importjava.net.HttpURLConnection; importjava.net.URL; /** *Java读取并下载网络文件 *@authorMarydon *@createTime2017年8月18日下午5:24:09 *@updateTime *@Email:marydon2017@163.com *@version:1.0.0 *@referenceLink *java从网络Url中下载文件 */ publicclassDownloadFromNetwork{ /** *从网络Url中下载文件 *@paramurlStr *@paramfileName *@paramsavePath *@throwsIOException */ publicstaticvoiddownLoadFromUrl(StringurlStr,StringfileName,StringsavePath)throwsIOException{ URLurl=newURL(urlStr); HttpURLConnectionconn=(HttpURLConnection)url.openConnection(); //设置超时间为3秒 conn.setConnectTimeout(3*1000); //防止屏蔽程序抓取而返回403错误 conn.setRequestProperty("User-Agent","Mozilla/4.0(compatible;MSIE5.0;WindowsNT;DigExt)"); //得到输入流 InputStreaminputStream=conn.getInputStream(); //获取自己数组 byte[]getData=readInputStream(inputStream); //文件保存位置 FilesaveDir=newFile(savePath); if(!saveDir.exists()){ saveDir.mkdirs(); } Filefile=newFile(saveDir+File.separator+fileName); FileOutputStreamfos=newFileOutputStream(file); fos.write(getData); if(fos!=null){ fos.close(); } if(inputStream!=null){ inputStream.close(); } System.out.println("info:"+url+"downloadsuccess"); } /** *从输入流中获取字节数组 *@paraminputStream *@return *@throwsIOException */ publicstaticbyte[]readInputStream(InputStreaminputStream)throwsIOException{ byte[]buffer=newbyte[1024]; intlen=0; ByteArrayOutputStreambos=newByteArrayOutputStream(); while((len=inputStream.read(buffer))!=-1){ bos.write(buffer,0,len); } bos.close(); returnbos.toByteArray(); } publicstaticvoidmain(String[]args){ try{ for(inti=201;i<=520;i++){ downLoadFromUrl("https://ss1.bdstatic.com/kvoZeXSm1A5BphGlnYG/skin/"+i+".jpg",i+".jpg","E:/Downloads/wallpaper/baiduSkin"); } }catch(Exceptione){ //TODO:handleexception } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。