当前位置:  开发笔记 > 编程语言 > 正文

如何将输入流传输到压缩文件,因为它是用Java读入的?

如何解决《如何将输入流传输到压缩文件,因为它是用Java读入的?》经验,为你挑选了1个好方法。

我想要执行一个程序,因为它运行读取它的输出并将输出输出到一个压缩文件.程序的输出可能非常大,所以想法是不要在内存中保留太多 - 只是在我得到它时将它发送到zip.



1> scubabbl..:
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);
}

换一种说法:

    您创建一个ZipOutputStream,为其提供要写入的文件.

    您创建一个ZipEntry,它构成该zip文件中的文件.即打开myFile.zip时,其中有3个文件,每个文件都是ZipEntry.

    您将zipEntry放入ZipOutputStream中

    创建一个字节缓冲区以将数据读入.

    从inputStream读取到字节缓冲区,并记住计数.

    虽然计数不是-1,但请将该字节写入zipStream.

    阅读下一行.

完成后关闭你的溪流.根据您的需要将其包装在一个方法中.

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有