From ff2930cba38e062ddc877852feb086eb70272d4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AD=8F=E5=87=A1?= Date: Tue, 13 Jun 2023 15:44:40 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8List=E5=8F=82=E6=95=B0=E5=8E=BB?= =?UTF-8?q?=E8=B0=83=E7=94=A8array=E5=8F=82=E6=95=B0=E7=9A=84=E6=96=B9?= =?UTF-8?q?=E6=B3=95,=20=E8=BF=99=E4=B8=AA=E6=96=B9=E6=B3=95=E5=A4=8D?= =?UTF-8?q?=E7=94=A8=E9=80=BB=E8=BE=91=E6=98=AF=E4=B8=8D=E5=A4=AA=E5=A5=BD?= =?UTF-8?q?=E7=9A=84,=20List=E8=BD=ACarray=E4=BC=9A=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E6=96=B0=E6=95=B0=E7=BB=84,=20=E9=80=A0=E6=88=90=E6=80=A7?= =?UTF-8?q?=E8=83=BD=E6=B5=AA=E8=B4=B9.=20=E5=A6=82=E6=9E=9C=E5=8F=8D?= =?UTF-8?q?=E8=BF=87=E6=9D=A5,=20array=E8=BD=ACList,=20=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E4=BD=BF=E7=94=A8Arrays.asList(),=20=E5=88=99=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5=E5=87=8F=E5=B0=91=E5=AF=B9=E8=B1=A1=E5=88=9B=E5=BB=BA?= =?UTF-8?q?.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hutool/core/compress/ZipReplacer.java | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/compress/ZipReplacer.java b/hutool-core/src/main/java/org/dromara/hutool/core/compress/ZipReplacer.java index 2e72205b0..caefb758c 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/compress/ZipReplacer.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/compress/ZipReplacer.java @@ -32,9 +32,9 @@ public class ZipReplacer { * @param charset 读取编码格式 * @param charsetOut 输出编码格式 */ - public static void replace(File srcFile, File tarFile, String[] innerFiles, File[] replaceFiles, Charset charset, Charset charsetOut) { -// 记录zip中是否存在相同路径的文件, 是 更新文件 否,添加文件 - boolean[] updates = new boolean[replaceFiles.length]; + public static void replace(File srcFile, File tarFile, String[] innerFiles, List replaceFiles, Charset charset, Charset charsetOut) { + // 记录zip中是否存在相同路径的文件, 是 更新文件 否,添加文件 + boolean[] updates = new boolean[replaceFiles.size()]; try (ZipFile zipFile = new ZipFile(srcFile, charset); FileOutputStream fos = new FileOutputStream(tarFile); ZipOutputStream zos = new ZipOutputStream(fos); @@ -50,7 +50,7 @@ public class ZipReplacer { // 存在同路径文件,替换 if (update) { updates[i] = true; - data.put(zipEntryInName, FileUtil.getInputStream(replaceFiles[i])); + data.put(zipEntryInName, FileUtil.getInputStream(replaceFiles.get(i))); break; } } @@ -63,7 +63,7 @@ public class ZipReplacer { for (int i = 0; i < updates.length; i++) { if (!updates[i]) { // 原zip中不存在同路径文件,添加到制定目录 - data.put(innerFiles[i], FileUtil.getInputStream(replaceFiles[i])); + data.put(innerFiles[i], FileUtil.getInputStream(replaceFiles.get(i))); } } for (String key : data.keySet()) { @@ -73,10 +73,8 @@ public class ZipReplacer { throw new IORuntimeException(e); } } - - public static void replace(File srcFile, File tarFile, String[] innerFiles, List replaceFiles, Charset charset, Charset charsetOut) { - File[] files = replaceFiles.toArray(new File[0]); - replace(srcFile, tarFile, innerFiles, files, charset, charsetOut); + public static void replace(File srcFile, File tarFile, String[] innerFiles, File[] replaceFiles, Charset charset, Charset charsetOut) { + replace(srcFile, tarFile, innerFiles, Arrays.asList(replaceFiles), charset, charsetOut); } public static void replace(File srcFile, File tarFile, String[] innerFiles, String[] replaceFiles, Charset charset, Charset charsetOut) {