package com.athena.asm.util;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
/***
* DownUtil
*
* @author zhangjia
*
*/
public class DownUtil {
private static final int TIMEOUT = 10 * 1000;
/***
* 下载文件
*
* @return
* @throws MalformedURLException
*/
public void downloadUpdateFile(String down_url, String file)
throws Exception {
int down_step = 5;// 提示step
int totalSize;
int downloadCount = 0;// 已经下载好的大小
InputStream inputStream;
OutputStream outputStream;
URL url = new URL(down_url);
HttpURLConnection httpURLConnection = (HttpURLConnection) url
.openConnection();
httpURLConnection.setConnectTimeout(TIMEOUT);
httpURLConnection.setReadTimeout(TIMEOUT);
// 获取下载文件的size
totalSize = httpURLConnection.getContentLength();
if (httpURLConnection.getResponseCode() == 404) {
throw new Exception("fail!");
}
inputStream = httpURLConnection.getInputStream();
outputStream = new FileOutputStream(file, false);// 文件存在则覆盖掉
byte buffer[] = new byte[1024];
int readsize = 0;
while ((readsize = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, readsize);
totalSize += readsize;// 时时获取下载到的大小
/**
* 没
*/
if (downloadCount == 0
|| (totalSize * 100 / totalSize - down_step) > downloadCount) {
}
}
outputStream.close();
}
}