/**
* @author: sunzhaoqi
* @Date: 2022/7/1 10:04
* netUrl 网络文件地址
* filePath 本地下载地址 D:/file/
*/
@GetMapping("/downloadThisLocality")
public static void downloadThisLocality(String netUrl, String filePath) {
FileOutputStream fileOutputStream= null;
HttpURLConnection conn = null;
InputStream inputStream = null;
try {
URL url = new URL(netUrl);
conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(20 * 1000);
inputStream = conn.getInputStream();
File file = new File(filePath);
String name = FilenameUtils.getName(url.getPath());
if (!file.exists()) {
file.mkdirs();
}
fileOutputStream = new FileOutputStream(new File(filePath + name));
byte[] bytes = new byte[2048];
int readCount = 0;
while ((readCount = inputStream.read(bytes)) != -1) {
fileOutputStream.write(bytes, 0, readCount);
}
if(fileOutputStream != null){
fileOutputStream.flush();
}
conn.disconnect();
} catch (IOException e) {
e.printStackTrace();
throw new RuntimeException(e.getMessage());
}finally {
if(fileOutputStream != null){
try {
fileOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(inputStream != null){
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(fileOutputStream != null){
try {
fileOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public static void main(String[] args) {
downloadThisLocality("http://hrss.qingdao.gov.cn/n28356070/upload/210513110321200714/210513110321231352.xlsx","D:/file/");
}