Выполнить команду winzip в java-программе

Необходимо выполнить приведенную ниже команду winzip в java-программе.

C:\Program Files\WinZip>winzip32 -a -s"password" C:\abc.zip C:\abc.doc

person Prasanna    schedule 15.02.2010    source источник
comment
Знаете ли вы, что Java включает встроенную поддержку сжатия / распаковки zip-файлов? Лучше использовать чистую java, потому что ваше приложение будет кроссплатформенным, а не только для Windows.   -  person Asaph    schedule 15.02.2010
comment
@Asaph: Он хочет создать zip-файл, защищенный паролем.   -  person BalusC    schedule 15.02.2010
comment
@BalusC: Я заметил это после того, как разместил свой комментарий, когда я прочитал ваш ответ, за который я проголосовал. :)   -  person Asaph    schedule 15.02.2010


Ответы (3)


Используйте Runtime#exec() (здесь, здесь предостережения) или только чистый код Java (связанная тема SO).

Кстати, если вам не нужна защита паролем, вы можете просто использовать _ 2_ (здесь).

person BalusC    schedule 15.02.2010
comment
Кроме того, если вы хотите, чтобы много потоков могло вызывать, я предлагаю ограничить количество потоков, которые могут вызывать одновременно. - person Epsilon Prime; 15.02.2010
comment
+1: Использование java.util.zip дает вам кроссплатформенную поддержку, не требует установки WinZip и т. Д. Если это возможно, по возможности сделайте это. - person ; 15.02.2010

Вы можете просто использовать Runtime.exec ();

String[] cmd = {"C:\\Program Files\\WinZip\\winzip32", "-a", "-s", "password", "C:\\abc.zip", "C:\\abc.doc"};
Runtime.getRuntime().exec(cmd);
person Suraj Chandran    schedule 15.02.2010

Заглянув в Интернет, поможет ли это то, что вы ищете: https://truezip.dev.java.net/ без необходимости полагаться на внешнюю установку WinZip, которая может существовать или не существовать в системе конечного пользователя? Просто предложение.

person Community    schedule 15.02.2010