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
当你完成后关闭你的流。按照您认为合适的方法将其包裹。