带注释解释代码
package com.zcl.Test;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.Socket;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Enumeration;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
/**
* 从https://gitcode.net/tasking/Encrypt-decrypt-files/-/raw/master/AES.zip 网址下载AES.zip,
* 编写程序解压AES.zip,
* 将得到若干经过先经过AES算法加密,
* 然后经过Base64编码后的文件,
* 秘钥为1111222233334444,加密模式为CBC,偏移量为5555666677778888,
* 请解密文件中的内容,并且重新打包成一个压缩包。
*/
public class Test1 {
public static void main(String[] args) {
String url = "https://gitcode.net/tasking/Encrypt-decrypt-files/-/raw/master/AES.zip";
DownAndReadFile(url);
}
/**
* 远程文件下载地址
*
* @param filePath 网络文件请求地址
*/
public static void DownAndReadFile(String filePath) {
long startTime = System.currentTimeMillis();
// 获取的年月日对象信息
String data = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
//创建一个下载文件的文件路径
String dir = "F:\\2022C4java基础认证2\\远程下载解压解密压缩任务\\code\\远程请求下载" + data;
// 声明文件对象
File saverPath = new File(dir);
// 判断文件是否存在
if (!saverPath.exists()) {
// 文件不存在就创建一个一级目录【远程请求下载】
saverPath.mkdir();
}
// 根据/切割接受到的请求网络URL
String[] urlName = filePath