Java读取并下载网络文件的方法
程序员文章站
2024-02-24 09:49:16
本文实例为大家分享了java读取并下载网络文件的具体代码,供大家参考,具体内容如下
import java.io.bytearrayoutputstream;...
本文实例为大家分享了java读取并下载网络文件的具体代码,供大家参考,具体内容如下
import java.io.bytearrayoutputstream; import java.io.file; import java.io.fileoutputstream; import java.io.ioexception; import java.io.inputstream; import java.net.httpurlconnection; import java.net.url; /** * java读取并下载网络文件 * @author marydon * @createtime 2017年8月18日下午5:24:09 * @updatetime * @email:marydon2017@163.com * @version:1.0.0 * @referencelink * <a href="http://blog.csdn.net/xb12369/article/details/40543649/"> java 从网络url中下载文件</a> */ public class downloadfromnetwork { /** * 从网络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); 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{ for (int i = 201; i <=520; i++) { downloadfromurl("https://ss1.bdstatic.com/kvozexsm1a5bphglnyg/skin/" + i + ".jpg",i + ".jpg","e:/downloads/wallpaper/baiduskin"); } }catch (exception e) { // todo: handle exception } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: spring中bean的生命周期详解
下一篇: 用缓冲技术提高JSP应用的性能和稳定性