7
我想執行一個程序,當它運行時讀入它的輸出並將輸出輸出到一個壓縮文件中。程序的輸出可能非常大,所以我們的想法是不要在內存中佔用過多的空間 - 只要將它發送到壓縮文件就可以了。如何將輸入流傳輸到壓縮文件,因爲它是用Java讀入的?
我想執行一個程序,當它運行時讀入它的輸出並將輸出輸出到一個壓縮文件中。程序的輸出可能非常大,所以我們的想法是不要在內存中佔用過多的空間 - 只要將它發送到壓縮文件就可以了。如何將輸入流傳輸到壓縮文件,因爲它是用Java讀入的?
ZipOutputStream targetStream = new ZipOutputStream(fileToSaveTo);
ZipEntry entry = new ZipEntry(nameOfFileInZipFile);
targetStream.putNextEntry(entry);
byte[] dataBlock = new byte[1024];
int count = inputStream.read(dataBlock, 0, 1024);
while (count != -1) {
targetStream.write(dataBlock, 0, count);
count = inputStream.read(dataBlock, 0, 1024);
}
。換句話說:
您創建一個ZipEntry,它構成該zip文件中的一個文件。 即當您打開myFile.zip,並且裏面有3個文件時,每個文件都是ZipEntry。
你把的ZipEntry到您ZipOutputStream
當你完成後關閉你的流。按照您認爲合適的方法將其包裹。