我想从中读取数据,比如称为zip1,zip2,zip3,zip4的4个zip文件。所有这些zip文件都是从这个叫做“BigZip”的大文件中分离出来的。我想将zip文件合并成一个文件,然后比较1 bigzip文件与zip文件(zip1 + zip2 + zip3 + zip4)的大小是否匹配。当我合并4个zip文件的大小时,我得到的文件很小。我究竟做错了什么?从多个zip文件中读取数据并将它们合并为一个
这里是我的同一代码:
targetFilePath1,targetFilePath2,targetFilePath3,targetFilePath4属于4个zip文件路径。 sourceFilePath是通向BigZip文件
class Test {
public static void main(String args[]) {
ZipOutputStream outStream = new ZipOutputStream(new FileOutputStream(sourceBigZip));
readZip(sourceFilePath, targetFilePath1);
readZip(sourceFilePath, targetFilePath2);
readZip(sourceFilePath, targetFilePath3);
readZip(sourceFilePath, targetFilePath4);
outStream.close();
}
static void readZip(String sourceBigZip, String targetFile) throws Exception {
ZipInputStream inStream = new ZipInputStream(new FileInputStream(targetFile));
byte[] buffer = new byte[1024];
int len = inStream.read(buffer);
while (len != -1) {
outStream.write(buffer, 0, len);
len = inStream.read(buffer);
System.out.print(len);
}
inStream.close();
}
}
你的意思是像我编辑的代码呢?请检查我的编辑? – fscore 2014-12-05 18:26:31
差不多......除了'readStream'在'readZip'中没有定义。您必须将其作为参数传入,而不是'sourceBigZip',它现在未被使用。 另外,你的参数命名看起来相当混乱:源代码应该是你阅读的地方,目标是你写的地方,不是吗? – Dima 2014-12-05 18:31:21
我试过这样做,但没有奏效。 – fscore 2014-12-05 19:05:55