2010-02-15 3 views
2

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

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

Знаете ли вы, что java включает встроенную поддержку сжатия/распаковки zip-файлов? Лучше использовать чистую java, потому что ваше приложение будет кросс-платформой, а не только для Windows. – Asaph

+0

@Asaph: Он хочет создать защищенный паролем zip-файл. – BalusC

+0

@BalusC: Я заметил, что после того, как я опубликовал свой комментарий, когда я прочитал ваш ответ, который я поддержал. :) – Asaph

ответ

2

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

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

Использование Runtime#exec() (tutorial here, caveats here) или просто чистый код Java (related SO topic).

Кстати, если вам не нужна защита паролем, вы можете просто пойти с java.util.zip (tutorial here).

+0

Кроме того, если вы намерены иметь много потоков, которые могли бы позвонить, я предлагаю ограничить количество потоков, которые могут вызывать одновременно. –

+1

+1: Использование java.util.zip дает вам кросс-платформенную поддержку, не полагается на установку WinZip и т. Д. Если это вариант, если это возможно, сделайте это. – 2010-02-15 03:30:43

1

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

Смежные вопросы