package com.example.security.zmain.DownloadFile;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
/**
* 通过网络路径下载到本地指定路径下
* @Author Administrator
* @Date 2020/12/25 10:08
* @Version
**/
public class UrlToPathFile {
public static void main(String[] args) {
//网络路径
String fileUrl="http://pic37.nipic.com/20140113/8800276_184927469000_2.png";
//本地路径
String fileLocal="D:/1.png";
try {
downloadFile(fileUrl,fileLocal);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
/**
* 文件下载
* @param fileUrl 下载路径
* @param savePath 存放地址 示例:D:/1.png
* @throws Exception
*/
public static void downloadFile(String fileUrl,String savePath) throws Exception {
File file=new File(savePath);
//判断文件是否存在,不存在则创建文件
if(!file.exists()){
file.createNewFile();
}
URL url = new URL(fileUrl);
HttpURLConnection urlCon = (HttpURLConnection) url.openConnection();
urlCon.setConnectTimeout(6000);
urlCon.setReadTimeout(6000);
int code = urlCon.getResponseCode();
if (code != HttpURLConnection.HTTP_OK) {
throw new Exception("文件读取失败");
}
DataInputStream in = new DataInputStream(urlCon.getInputStream());
DataOutputStream out = new DataOutputStream(new FileOutputStream(savePath));
byte[] buffer = new byte[2048];
int count = 0;
while ((count = in.read(buffer)) > 0) {
out.write(buffer, 0, count);
}
try {
if(out!=null) {
out.close();
}
if(in!=null) {
in.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Java 通过网络资源下载到指定本地目录下
最新推荐文章于 2024-04-27 23:13:56 发布