- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我修改了 ZipEntry 脚本来压缩 15 个 Excel 文件。现在我不是开发人员,所以我没有使用循环,基本上一遍又一遍地重复变量,所以代码很丑陋而且效率低下。除此之外,我只能使用 7-Zip 打开 zip,里面是一个目录。该目录中有 15 个 .xlsx 文件。 15 个文件中有 14 个是空白的...只有最后一个不是。
问题:
1) .zip 内的目录 - 如何删除它并让它直接压缩 15 个文件?
2) 15 个文件中的前 14 个是空白/0 KB。这是什么原因造成的?
这是代码:
var file_name_xlsx1 = getSystemDefault("RES_REPORTS_DIR")'EBAResolution_xxxxx_' + 'Z_01_00'+ '_' + DATE_STRING + '.xlsx';
var file_name_xlsx2 = getSystemDefault("RES_REPORTS_DIR")'EBAResolution_xxxxx_' + 'Z_02_00'+ '_' + DATE_STRING + '.xlsx';
var file_name_xlsx3 = getSystemDefault("RES_REPORTS_DIR")'EBAResolution_xxxxx_' + 'Z_03_00'+ '_' + DATE_STRING + '.xlsx';
var file_name_xlsx4 = getSystemDefault("RES_REPORTS_DIR")'EBAResolution_xxxxx_' + 'Z_04_00'+ '_' + DATE_STRING + '.xlsx';
var file_name_xlsx5 = getSystemDefault("RES_REPORTS_DIR")'EBAResolution_xxxxx_' + 'Z_05_01'+ '_' + DATE_STRING + '.xlsx';
var file_name_xlsx6 = getSystemDefault("RES_REPORTS_DIR")'EBAResolution_xxxxx_' + 'Z_05_02'+ '_' + DATE_STRING + '.xlsx';
var file_name_xlsx7 = getSystemDefault("RES_REPORTS_DIR")'EBAResolution_xxxxx_' + 'Z_06_00'+ '_' + DATE_STRING + '.xlsx';
var file_name_xlsx8 = getSystemDefault("RES_REPORTS_DIR")'EBAResolution_xxxxx_' + 'Z_07_01'+ '_' + DATE_STRING + '.xlsx';
var file_name_xlsx9 = getSystemDefault("RES_REPORTS_DIR")'EBAResolution_xxxxx_' + 'Z_07_02'+ '_' + DATE_STRING + '.xlsx';
var file_name_xlsx10 = getSystemDefault("RES_REPORTS_DIR")'EBAResolution_xxxxx_' + 'Z_07_03'+ '_' + DATE_STRING + '.xlsx';
var file_name_xlsx11 = getSystemDefault("RES_REPORTS_DIR")'EBAResolution_xxxxx_' + 'Z_07_04'+ '_' + DATE_STRING + '.xlsx';
var file_name_xlsx12 = getSystemDefault("RES_REPORTS_DIR")'EBAResolution_xxxxx_' + 'Z_08_00'+ '_' + DATE_STRING + '.xlsx';
var file_name_xlsx13 = getSystemDefault("RES_REPORTS_DIR")'EBAResolution_xxxxx_' + 'Z_09_00'+ '_' + DATE_STRING + '.xlsx';
var file_name_xlsx14 = getSystemDefault("RES_REPORTS_DIR")'EBAResolution_xxxxx_' + 'Z_10_01'+ '_' + DATE_STRING + '.xlsx';
var file_name_xlsx15 = getSystemDefault("RES_REPORTS_DIR")'EBAResolution_xxxxx_' + 'Z_10_02'+ '_' + DATE_STRING + '.xlsx';
var file_name_zip = getSystemDefault("RES_REPORTS_DIR")'EBAResolution_xxxxx' + '_' + DATE_STRING + '.zip';
var fileOS = new("java.io.FileOutputStream", file_name_zip);
var zipOS = new("java.util.zip.ZipOutputStream", fileOS);
zipOS.setLevel(9);
var zipEntry1 = new("java.util.zip.ZipEntry",file_name_xlsx1 );
zipOS.putNextEntry(zipEntry1);
var zipEntry2 = new("java.util.zip.ZipEntry",file_name_xlsx2 );
zipOS.putNextEntry(zipEntry2);
var zipEntry3 = new("java.util.zip.ZipEntry",file_name_xlsx3 );
zipOS.putNextEntry(zipEntry3);
var zipEntry4 = new("java.util.zip.ZipEntry",file_name_xlsx4 );
zipOS.putNextEntry(zipEntry4);
var zipEntry5 = new("java.util.zip.ZipEntry",file_name_xlsx5 );
zipOS.putNextEntry(zipEntry5);
var zipEntry6 = new("java.util.zip.ZipEntry",file_name_xlsx6 );
zipOS.putNextEntry(zipEntry6);
var zipEntry7 = new("java.util.zip.ZipEntry",file_name_xlsx7 );
zipOS.putNextEntry(zipEntry7);
var zipEntry8 = new("java.util.zip.ZipEntry",file_name_xlsx8 );
zipOS.putNextEntry(zipEntry8);
var zipEntry9 = new("java.util.zip.ZipEntry",file_name_xlsx9 );
zipOS.putNextEntry(zipEntry9);
var zipEntry10 = new("java.util.zip.ZipEntry",file_name_xlsx10 );
zipOS.putNextEntry(zipEntry10);
var zipEntry11 = new("java.util.zip.ZipEntry",file_name_xlsx11 );
zipOS.putNextEntry(zipEntry11);
var zipEntry12 = new("java.util.zip.ZipEntry",file_name_xlsx12 );
zipOS.putNextEntry(zipEntry12);
var zipEntry13 = new("java.util.zip.ZipEntry",file_name_xlsx13 );
zipOS.putNextEntry(zipEntry13);
var zipEntry14 = new("java.util.zip.ZipEntry",file_name_xlsx14 );
zipOS.putNextEntry(zipEntry14);
var zipEntry15 = new("java.util.zip.ZipEntry",file_name_xlsx15 );
zipOS.putNextEntry(zipEntry15);
var fileIS1 = new("java.io.FileInputStream", file_name_xlsx1);
var fileIS2 = new("java.io.FileInputStream", file_name_xlsx2);
var fileIS3 = new("java.io.FileInputStream", file_name_xlsx3);
var fileIS4 = new("java.io.FileInputStream", file_name_xlsx4);
var fileIS5 = new("java.io.FileInputStream", file_name_xlsx5);
var fileIS6 = new("java.io.FileInputStream", file_name_xlsx6);
var fileIS7 = new("java.io.FileInputStream", file_name_xlsx7);
var fileIS8 = new("java.io.FileInputStream", file_name_xlsx8);
var fileIS9 = new("java.io.FileInputStream", file_name_xlsx9);
var fileIS10 = new("java.io.FileInputStream", file_name_xlsx10);
var fileIS11 = new("java.io.FileInputStream", file_name_xlsx11);
var fileIS12 = new("java.io.FileInputStream", file_name_xlsx12);
var fileIS13 = new("java.io.FileInputStream", file_name_xlsx13);
var fileIS14 = new("java.io.FileInputStream", file_name_xlsx14);
var fileIS15 = new("java.io.FileInputStream", file_name_xlsx15);
var byteArray1 = class("axiomsl.util.basic.GenericClassUtils").readFileIntoByteArray(fileIS1, true);
var byteArray2 = class("axiomsl.util.basic.GenericClassUtils").readFileIntoByteArray(fileIS2, true);
var byteArray3 = class("axiomsl.util.basic.GenericClassUtils").readFileIntoByteArray(fileIS3, true);
var byteArray4 = class("axiomsl.util.basic.GenericClassUtils").readFileIntoByteArray(fileIS4, true);
var byteArray5 = class("axiomsl.util.basic.GenericClassUtils").readFileIntoByteArray(fileIS5, true);
var byteArray6 = class("axiomsl.util.basic.GenericClassUtils").readFileIntoByteArray(fileIS6, true);
var byteArray7 = class("axiomsl.util.basic.GenericClassUtils").readFileIntoByteArray(fileIS7, true);
var byteArray8 = class("axiomsl.util.basic.GenericClassUtils").readFileIntoByteArray(fileIS8, true);
var byteArray9 = class("axiomsl.util.basic.GenericClassUtils").readFileIntoByteArray(fileIS9, true);
var byteArray10 = class("axiomsl.util.basic.GenericClassUtils").readFileIntoByteArray(fileIS10, true);
var byteArray11 = class("axiomsl.util.basic.GenericClassUtils").readFileIntoByteArray(fileIS11, true);
var byteArray12 = class("axiomsl.util.basic.GenericClassUtils").readFileIntoByteArray(fileIS12, true);
var byteArray13 = class("axiomsl.util.basic.GenericClassUtils").readFileIntoByteArray(fileIS13, true);
var byteArray14 = class("axiomsl.util.basic.GenericClassUtils").readFileIntoByteArray(fileIS14, true);
var byteArray15 = class("axiomsl.util.basic.GenericClassUtils").readFileIntoByteArray(fileIS15, true);
zipOS.write(byteArray1, 0, byteArray1.size());
fileIS1.close();
zipOS.write(byteArray2, 0, byteArray2.size());
fileIS2.close();
zipOS.write(byteArray3, 0, byteArray3.size());
fileIS3.close();
zipOS.write(byteArray4, 0, byteArray4.size());
fileIS4.close();
zipOS.write(byteArray5, 0, byteArray5.size());
fileIS5.close();
zipOS.write(byteArray6, 0, byteArray6.size());
fileIS6.close();
zipOS.write(byteArray7, 0, byteArray7.size());
fileIS7.close();
zipOS.write(byteArray8, 0, byteArray8.size());
fileIS8.close();
zipOS.write(byteArray9, 0, byteArray9.size());
fileIS9.close();
zipOS.write(byteArray10, 0, byteArray10.size());
fileIS10.close();
zipOS.write(byteArray11, 0, byteArray11.size());
fileIS11.close();
zipOS.write(byteArray12, 0, byteArray12.size());
fileIS12.close();
zipOS.write(byteArray13, 0, byteArray13.size());
fileIS13.close();
zipOS.write(byteArray14, 0, byteArray14.size());
fileIS14.close();
zipOS.write(byteArray15, 0, byteArray15.size());
fileIS15.close();
zipOS.closeEntry();
zipOS.close();
'getSystemDefault("") 是一个特定于应用程序的函数,用于检索文件所在的应用程序服务器上的路径。正是该路径最终出现在生成的 .zip 中,导致 Windows 资源管理器使其无效。任何帮助将不胜感激。
最佳答案
您必须输入第一个条目,然后是第一个文件的内容,第二个条目,第二个文件内容,依此类推...
var zipEntry1 = new("java.util.zip.ZipEntry",file_name_xlsx1 );
zipOS.putNextEntry(zipEntry1);
var fileIS1 = new("java.io.FileInputStream", file_name_xlsx1);
var byteArray1 = class("axiomsl.util.basic.GenericClassUtils").readFileIntoByteArray(fileIS1, true);
zipOS.write(byteArray1, 0, byteArray1.size());
fileIS1.close();
var zipEntry2 = new("java.util.zip.ZipEntry",file_name_xlsx2 );
zipOS.putNextEntry(zipEntry2);
var fileIS2 = new("java.io.FileInputStream", file_name_xlsx2);
var byteArray2 = class("axiomsl.util.basic.GenericClassUtils").readFileIntoByteArray(fileIS2, true);
zipOS.write(byteArray2, 0, byteArray2.size());
fileIS2.close();
...
等等...
关于java - ZipEntry 脚本压缩目录,15 个文件中有 14 个为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55574808/
我正在尝试创建一种将 java.io.File 复制到 java.util.zip.ZipFile 的方法。为此,我首先打开 ZipFile 的 java.util.zip.ZipOutputStre
枚举 和 Enumeration?如果是,有什么区别? 最佳答案 当您拥有其中之一时,在您可以做什么方面没有实际区别,因为类型参数仅用于“输出”位置。另一方面,在您可以使用它们方面有很大的不同。 假设
我正在努力查看 .zip 文件以确认所有包含的文件都已正确命名,但遇到了一些麻烦。这是文件层次结构: -.zip -dir -file1 -file2 -file3 -
我的 springboot 应用程序中有这个方法,它在 custom_users 目录中生成 3 个 CSV 文件(与员工、客户和建筑物相关),其名称后附加了时间戳,如下所示。以下代码对我来说效果很好
我试图将 ZipEntry 对象序列化为字节数组,但我知道这是不可能的。 这就是我正在做的事情: ZipEntry entryToDocumentum = null; for (ZipEntry on
如果我创建 ZipEntry 时未指定其大小,则默认大小是多少?我需要指定它的尺寸吗?我们什么时候设置尺寸?我看到 ZipEntry 有一个 setSize(long size) 方法。 ZipEnt
我的 zip 文件中有一个 zip 文件。所以我需要递归解压缩。输入以字节数组的形式出现 zis = new ZipInputStream(new ByteArrayInputStream((byte
简单的问题 我正在将一系列文本文件写入 zip,只需将文件输出流包装在 zipoutputstream 中,然后包装在 printwriter 中。 public static int saveDat
ZIP 条目存储条目的完整路径名,因为(我确信下一部分)ZIP 存档没有组织为目录。元数据包含有关如何存储文件(在目录内)的信息。 如果我在 Windows 中创建 ZIP 文件,当我在另一个操作系统
ZIP 条目存储条目的完整路径名,因为(我确信下一部分)ZIP 存档不是按目录组织的。元数据包含有关文件应该如何存储(在目录内)的信息。 如果我在 Windows 中创建一个 ZIP 文件,当我在另一
抱歉标题困惑。基本上我有一个 ZipFile,里面有一堆 .txt 文件,但也有一个文件夹。我在下面显示的代码是在 zip 条目中找到该文件夹。这部分我做得很好。问题是,一旦我找到该文件夹,它
我正在尝试从 ZIP 存档中读取 XML 文件。相关代码如下: ZipInputStream zis = new ZipInputStream(is); ZipEntry entry = zis.ge
我想将字符串(中文文本)导出到 zip 文件内的 CSV 文件。哪里需要将编码设置为UTF-8?或者我应该采取什么方法(基于下面的代码)在导出的CSV文件中显示中文字符? 这是我目前拥有的代码。
我的项目有一些已修改并添加到 zip 文件中的 xml 模板。问题是模板都在模板文件夹中,但 zip 文件的预期格式是将它们直接放在根目录中。 项目层次结构:模板/blah.xml 预期的 zip 文
我正在尝试从 ZIP 存档中读取 XML 文件。相关代码如下: ZipInputStream zis = new ZipInputStream(is); ZipEntry entry = zis.ge
我正在 Android 上试验 ZipEntry.getTime()。但是,我在不同设备上看到相同的 zip 和文件有不同的结果:1419755996000,1419752396000,1419730
我正在尝试使用 java.util.zip API 生成 zip 文件,但没有找到任何方法来设置 ZipEntry 的权限。 。有想法吗? 最佳答案 使用java.util.zip是不可能的。尝试 A
我有以下代码将文本文件写入 zip: FileOutputStream fOut = new FileOutputStream(fullFilename, false); BufferedOutput
我正在尝试使用 ObjectOutputStream 将对象序列化为 ZipEntry,但是它似乎没有写入任何内容,因为当我打印生成的字节数组时,它显示为 null。我尝试使用 ZipOutputSt
我想知道是否可以从 ZipEntry 中获取简单名称... 当我调用 Entry 的 getName() 时,我得到一个完整的路径名。 我只需要获取文件名。 在这里我需要获取简单名称而不是带根的全名。
我是一名优秀的程序员,十分优秀!