gpt4 book ai didi

java - ZipOutputStream - 压缩内容错误的文件

转载 作者:行者123 更新时间:2023-12-01 12:49:20 27 4
gpt4 key购买 nike

我可以压缩文件,但内容错误......例如 - a.txt 中的内容:

!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚„…†‡‰Š‹ŚŤŽŹ‘’“”•–—™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬­®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ`         

这是压缩文件的代码:

void zipping() throws FileNotFoundException, IOException {
OutputStream os = new FileOutputStream("C:\\...\\newZip.zip");
ZipOutputStream zos = new ZipOutputStream(os);

File folder = new File("C:\\...\\A");

for (final File fileEntry : folder.listFiles()) {
//ZipEntry ze2 = new ZipEntry(fileEntry.getPath());
//zos.putNextEntry(ze2);
zos.putNextEntry(new ZipEntry(fileEntry.getName()));
for (int i = 0; i < 10000; i++) {
zos.write(i);
}
}
zos.close();
}

bug在哪里?感谢您的帮助。

最佳答案

您正在将字节写入 zip 文件,从 1 到 10000。因此,根据所使用的编码,您显示的输出是正确的。

也许您应该读取要压缩的文件。下面是根据您的代码修改的代码。

void zipping(File file) throws FileNotFoundException, IOException {
OutputStream os = new FileOutputStream("C:\\...\\newZip.zip");
ZipOutputStream zos = new ZipOutputStream(os);

File folder = new File("C:\\...\\A");

for (final File fileEntry : folder.listFiles()) {

FileInputStream in = new FileInputStream(fileEntry);
zos.putNextEntry(new ZipEntry(fileEntry.getName()));

// buffer size
byte[] b = new byte[1024];
int count;

// Read from file and write to zip file
while ((count = in.read(b)) > 0) {
zos.write(b, 0, count);
}
}

zos.close();
}

关于java - ZipOutputStream - 压缩内容错误的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24363461/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com