gpt4 book ai didi

调用 pkzip 的 Java 进程需要很长时间才能压缩

转载 作者:行者123 更新时间:2023-11-29 06:01:41 37 4
gpt4 key购买 nike

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

 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 每个大约 20MB,如果我通过命令行执行它,那么压缩大约需要一秒钟,但是当我使用java,完成压缩需要 30 分钟到 1 小时。知道为什么吗?

最佳答案

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

Process 对象具有获取输入、输出和错误流的方法。创建从输出流和错误流中读取的新线程,并将它们通过管道传输到 System.outSystem.err,或者如果您不关心则丢弃输出

关于调用 pkzip 的 Java 进程需要很长时间才能压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9882917/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com