我们有程序(用VB编写),使用调用winzip程序或7zip命令行工具来压缩一些文件。有一次,我不小心在我的电脑上卸载了winzip,并使我们的一个程序(由程序员创建)崩溃。所以我们不能卸载winzip程序。
现在我们正在用java + windows批处理文件编写另一个程序。我已经到了一个问题,我需要在以下两种方法之间做出决定: 1)使用对windows批处理文件中的gzip的外部工具(例如7z )的调用,或者使用一个java程序来对该文件进行gzip。
显然,像7z这样的外部工具很方便,我们可以避免使用java进行额外的编码。相反,如果7z被意外卸载,我们的程序就会崩溃。你认为如何?
发布于 2012-03-22 04:49:14
在Java程序中压缩功能的情况下,不需要委托给像winzip或7zip这样的外部程序。你查过标准Java压缩功能了吗?部件中的ZipOutputStream应该能够满足您的需要。我没有使用它自己创建zip(或gzip),但我希望它比调用外部程序更容易,特别是在错误处理方面。
发布于 2012-03-22 13:19:36
如果您的程序在没有7zip的情况下崩溃,您必须添加每个程序应该具备的一些非常基本的内容:它被称为“错误处理”。例如,如果在您预期的位置丢失了7zip,那么您的程序可能会显示一条错误消息,告诉用户哪里出了问题,并希望安装7zip。而且(据我所知),目前7zip的许可证大多是LGPL,所以重新分发它(不需要修改)应该不是probem (但是IANAL)。
发布于 2012-03-22 04:34:49
要从崩溃中保存程序,必须从该应用程序中添加必要的dll。但我警告你,它不应该违反任何虚假协议。
https://softwareengineering.stackexchange.com/questions/140950
复制相似问题