Java读取并下载网络文件的方法

网友投稿 472 2023-04-17


Java读取并下载网络文件的方法

本文实例为大家分享了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

* java 从网络Url中下载文件

*/

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");

}

/**

* 从http://输入流中获取字节数组

* @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 (ExceptMaozmion e) {

// TODO: handle exception

}

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java中的static{}块的实例详解
下一篇:java 生成文字图片的示例代码
相关文章

 发表评论

暂时没有评论,来抢沙发吧~