java下载文件

来源:互联网 发布:淘宝店招装修 编辑:程序博客网 时间:2024/06/07 00:12

本文转自:http://blog.csdn.net/xb12369/article/details/40543649/


package com.xy6;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;public class Demo3 {/** * 从网络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://avatar.csdn.net/C/1/C/1_daxiang12092205.jpg","logo.jpg", "d:/");} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}}}


0 0
原创粉丝点击