2013-09-14 3 views
0

Вот программа, которая считывает содержимое ZIP-файла.Извлечение содержимого Zip-файла после чтения Zip-файла с сервера Exchange через JavaMail

http://www.java2s.com/Code/Java/File-Input-Output/ReadingtheContentsofaZIPFile.htm

Но моя проблема вот эта строка: ZipFile = новый ZF ZipFile ("C: /ReadZip.zip");

В вышеприведенном конструкторе ZipFile он проходит путь к файлу ZIP.

В моем случае у меня нет файла ZIP, хранящегося в любом месте. В моем случае я впервые читаю этот ZIP-файл с учетной записи обмена электронной почтой через API JavaMail, а затем мне нужно прочитать содержимое этого ZIP-файла.

Через JavaMail Я могу подключиться для обмена и чтения электронной почты и извлечения вложения, а затем посмотреть, является ли это вложение zip-файлом - все, что работает - теперь у меня есть zip-файл - как я динамически перехожу на ZipFile конструктор ZipFile zf = новый ZipFile ("C: /ReadZip.zip");

Настоятельно оцените вашу помощь в этом. Мне нужно сделать это в выходные.

спасибо.

ответ

0

Где вы извлекаете zip-файл?

Если он находится в том же каталоге, что и ваш проект, вы можете просто использовать относительный путь.

Пример: ZipFile a = новый ZipeFile ("zipefile.zip");

Если вы создали отдельную папку в директории проекта,

 ZipeFile a = new ZipFile("filename/zipfile.zip"); 
+0

Я не могу использовать это - новый ZipeFile («zipefile.zip»); так как у меня нет zip-файла, хранящегося на жестком диске. Я читаю zip-файл с сервера обмена через JavaMail, и теперь мне нужно передать этот ZipFile в выше конструктор. – user2565431

+0

Когда вы говорите «Я читаю zip-файл с сервера обмена», что вы ** делаете ** с zip-файлом, когда вы его читаете? Если вы используете метод MimeBodyPart.saveFile, чтобы сохранить его во временном файле, вы можете передать это имя файла, как описано выше. В противном случае попробуйте использовать ZipInputStream, чтобы обернуть InputStream, который поступает из MimeBodyPart.getInputStream. Подробнее о всех этих методах и классах читайте в javadocs. –

0

Если содержимое архива вы получаете от JavaMail API через входной поток, вы можете использовать ZipInputStream для чтения содержимого из zip-файл. Пример ZipInputStream: here

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