首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调用pkzip的Java进程需要很长时间来压缩

调用pkzip的Java进程需要很长时间来压缩
EN

Stack Overflow用户
提问于 2012-03-27 03:17:04
回答 2查看 425关注 0票数 1

必须在我的java程序中使用pkzip来压缩(因为标准的java例程不能在大型机上工作),我认为它是正确的压缩,但是它需要很长时间才能完成。这是我的代码

代码语言:javascript
复制
 Runtime myruntime = Runtime.getRuntime();
 Process newproc = myruntime.exec("c:\\app\\pkzipc.exe -add c:\\output\\test.zip c:\\doc\\foo.pdf c:\\doc\\bar.doc"");

foo.pdfbar.doc分别约为20 min,如果通过命令行执行,则需要大约1秒的时间来压缩,但是当我使用java时,完成压缩需要30分钟到1小时。知道为什么吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-27 03:21:49

您需要确保您正在读取子进程的标准输出流和错误流。如果pkzip生成输出,那么它将由操作系统缓冲,如果缓冲区被填满,那么您可以期望子进程阻塞,直到缓冲区被清除。

Process对象具有获取输入、输出和错误流的方法。创建从输出流和错误流读取的新线程,并将它们输送到System.outSystem.err,或者在不关心输出的情况下丢弃输出。

票数 2
EN

Stack Overflow用户

发布于 2012-03-27 03:19:10

尝试使用Java的java.util.zip API来操作.zip文件,看看教程

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9882917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档