java原生环境,不许引用其他文件 这次废话不多说,直接上代码 各个代码块之间的代码可以单独使用
文章目录
远端获取文件URL进行远端文件下载
本地文件打包打zip包
文件下载到浏览器http连接进行点击下载到浏览器
本地文件操作删除目录
远端获取文件
URL进行远端文件下载
本人亲写,绝对有效
/**
* @author LM
* @date 2021-11-03 - 9:40
*/
public class FileGainUtil {
public static void main(String[] args) {
FileGainUtil fileUtilLM = new FileGainUtil();
String[] urls = new String[]{
"https://img-blog.csdnimg.cn/img_convert/c8b0205e2b93a2c243b9c95541e83bbc.png",
"https://img-blog.csdnimg.cn/img_convert/d645dc79a2565bcb940d237807666172.png",
"https://img-blog.csdnimg.cn/img_convert/2b17c8c96f0d2ce292cae9b7ba68fb98.png",
"http://wwwweeaazzcdfdsa" //这个地址是错误的,用于测试
};
List list = new ArrayList();
//需要下载的文件地址集合,下载到本地的目录,文件后缀,存储下载过程中的错误信息
//如果本地机器是linux系统 第二个参数可以直接是 /xx/xx/xxx 没有这个路径的话会先建
fileUtilLM.actionAddFile(urls,"F:/cc/imama",".jpg",list);
System.out.println(list);
//z这个进行单个文件的下载
String url = "https://img-blog.csdnimg.cn/img_convert/c8b0205e2b93a2c243b9c95541e83bbc.png";
String path = "F://cs/image";
String suffix = ".jpg";
String name = "照片1";
fileUtilLM.downLoadFile(url,path,suffix,name);
}
/**
* 得到图片的二进制数据,以二进制封装得到数据,具有通用性
* @param inStream
* @return
* @throws Exception
*/
private byte[] readInputStream(InputStream inStream) throws Exception{
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
//创建一个Buffer字符串
byte[] buffer = new byte[1024];
//每次读取的字符串长度,如果为-1,代表全部读取完毕
int len = 0;
//使用一个输入流从buffer里把数据读取出来
while( (len=inStream.read(buffer)) != -1 ){
//用输出流往buffer里写入数据,中间参数代表从哪个位置开始读,len代表读取的长度
outStream.write(buffer, 0, len);
}
//关闭输入流
inStream.close();
//把outStream里的数据写入内存
return outStream.toByteArray();
}
/***
* @param urls 文件url路径数组
* @param pathName 文件临时保存的路径
* @param suffix 文件保存的后缀
* @throws Exception
*/
public boolean actionAddFile (String[] urls, String pathName, String suffix) {
boolean temp = true;
// 创建一个文件夹
File file = new File(pathName);
//如果存在的话进行删除存量数据
// if (file.exists())
// FileDeleteUtil.delFile(file); //这个我下面一块的代码,没加入的话就注释掉
file.mkdirs();
try {
//多个图片下载地址
for(int i=0;i |