我想從中讀取數據,比如稱爲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