根据http链接下载网络上的文件到本地
一次项目的接口上遇到个情况,我方系统要获取对方系统的资源,但是对方系统不提供htp方式只是提供一个可供下载的http链接。因此便写了代码自动根据http链接下载资源到本地的代码:
/**
* 根据http链接下载网络上的文件到本地
* @param http http链接
* @param fileName 文件名称
*/
public void saveHttpFile(String http,String fileName){
HttpURLConnection httpUrl = null;
BufferedInputStream bis = null;
FileOutputStream fos = null;
int size = 0;
byte[] buf = new byte[1024];
try {
//建立链接
URL url = new URL(http);
httpUrl = (HttpURLConnection)url.openConnection();
//链接指定的资源
httpUrl.connect();
//获取网络输入流
bis = new BufferedInputStream(httpUrl.getInputStream());
//建立本地输出文件
fos = new FileOutputStream("C:\\Users\\xxxx\\Desktop\\"+fileName);
//读取输入流字节并通过输出流写入本地文件中
while((size = bis.read(buf)) != -1){
fos.write(buf, 0, size);
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
bis.close();
} catch (IOException e) {
e.printStackTrace();
}
httpUrl.disconnect();
}
}