2014-02-06 4 views
1

У меня есть zipped и защищен файл с паролем. Теперь мне нужно вернуть файл обратно с помощью java. Поэтому мне нужно разблокировать пароль и разархивировать с помощью Java для правильного подключения к файлу.Чтение защищенных паролем файлов ZIP в Java

Мои первые вопросы: Открывает ли Java разблокировку zip-файла на локальном диске? (Так нет смысла защищать его?).

Я прочитал все о шифровании, но действительно ищут самый простой способ здесь. Эта ссылка: http://blog.alutam.com/2009/10/31/reading-password-protected-zip-files-in-java/

Мой второй вопрос о ссылке выше: (? Это жёстко) Я не могу найти строки, где он указывает на его архивный файл на локальном диске + пароль, который он использует, чтобы разблокировать файл

Спасибо

+0

_I не может найти строки, где он указывает на его архивный файл на локальном диске + пароль, который он использует, чтобы разблокировать файл (это жёстко?) _ Нет. Как вы можете видеть, что он использует 'args [0]' и 'args [1]'. Это означает, что он берет путь к файлу zip и его пароль из аргументов командной строки. – BackSlash

ответ

4

Вы можете взглянуть на Zip4j

Ключевые особенности:

  1. Создание, добавление, Извлечение, обновление, удаление файлов из Zip-файла
  2. Read/Write защищенные паролем файлы Zip
  3. Поддержка AES шифрования 128/256
  4. Поддерживает стандартный Zip шифрования
  5. Поддержка формата Zip64
  6. Поддержка магазина (без сжатия) и спустите метод сжатия
  7. Создание или извлечение файлов из Сплит файлов Zip (Ex: z01, Z02, ... застежка-молния)
  8. поддерживает имена файлов в кодировке Unicode
  9. Progress Monitor
+0

Хорошо Zip4J - отличный инструмент. Но проблема в том, что он извлекает zipped-файл где-то на моем локальном диске. Так что он больше не зашифрован. Я не вижу смысла его застегивать, если Java нужно разархивировать его для доступа к файлу. – RobinHo

+0

@RobinHo Вам не хватает точки. Zip - это сжатый архив, конечно же, вам нужно распаковать его, чтобы читать файлы внутри него. Если вам просто нужен список файлов, которые он содержит, то нет необходимости в распаковке, но если вы хотите прочитать, вам нужно распаковать файл. – BackSlash

+1

хорошо, вы можете создать список файлов и взять все (содержимое) в один входной поток. Теперь прочитайте и закройте его, как только закончите. Существует один вариант getInputStream(), который преобразует его в поток. – Helios

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