/**
* 根据网络URL生成字节
*
* @param url 文件地址
*/
public static byte[] byteGetByUrl(String url) {
URL urlObj = null;
URLConnection conn = null;
InputStream inputStream = null;
BufferedInputStream bis = null;
OutputStream outputStream = null;
try {
urlObj = new URL(url); // 1.建立网络连接
conn = urlObj.openConnection();// 2.打开网络连接
conn.setConnectTimeout(3 * 1000); // 设置超时间为3秒
conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
inputStream = conn.getInputStream(); // 3.得到输入流
bis = new BufferedInputStream(inputStream);
ByteArrayOutputStream out = new ByteArrayOutputStream(1024);
byte[] temp = new byte[1024];
int size = 0;
while ((size = bis.read(temp)) != -1) {
out.write(temp, 0, size);
}
return out.toByteArray();
} catch (MalformedURLException e) {
} catch (IOException e) {
} finally {
try {
if (bis != null) {
bis.close();
}
if (inputStream != null) {
inputStream.close();
}
if (outputStream != null) {
outputStream.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
/**
* 根据网络URL下载
*
* @param url 文件地址
*/
public static void DownGetByUrl(String url) {
if (Strings.isBlank(urlString)) {
xxx
}
String fileName = urlString.substring(urlString.lastIndexOf('/') + 1);
BufferedInputStream is = null;
BufferedOutputStream os = null;
try {
URL url = new URL(urlString);
response.setContentType("application/octet-stream;");
response.setHeader("Content-disposition",
"attachment; filename=" + new String(fileName.getBytes("utf-8"), "ISO8859-1"));
response.setHeader("Content-Length", String.valueOf(url.openConnection().getContentLength()));
is = new BufferedInputStream(url.openStream());
os = new BufferedOutputStream(response.getOutputStream());
byte[] buff = new byte[2048];
int bytesRead;
while (-1 != (bytesRead = is.read(buff, 0, buff.length))) {
os.write(buff, 0, bytesRead);
}
is.close();
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}