2010-09-22 3 views
2

У меня возникла проблема, когда мне нужно конвертировать zipentry в файл.Как читать файл из ZIP-архива

Что происходит, так это то, что у меня есть zip-файл, полный файлов csv. Мне нужно, чтобы распаковать файл и извлечь из CSV-файлы и читать его с помощью сканера(), который принимает только файл (типа), а не ZipEntry ...

ответ

3

Scanner класс также принимает InputStream в одном из its constructors. Как только у вас есть ZipEntry (вы получите его от ZipFile), вы можете использовать его в методе myZipFile.getInputStream(zipEntry), чтобы получить InputStream, который вы можете перейти на Scanner.

+0

Невозможно ... sc = новый сканер (ZipFile.getInputStream (запись)); ошибка, предоставленная мне, была нестатистическим методом «ZipFile.getInputStream (запись));« не может быть не может быть ссылкой из статического контекста – Roy

+0

@Roy: вместо этого вы должны использовать свой экземпляр ZipFile, то есть 'myZipFile.getInputStream (entry)' , Я думал, что открыть ZIP-файл с чем-то вроде: 'ZipFile myZipFile = new ZipFile (" myfile.zip ");', тогда вы получаете запись либо из метода myZipFile.entries() ', либо из' ZipEntry entry = myZipFile.getEntry (...) ', а затем вы используете эту запись для открытия входного потока:' myZipFile.getInputStream (entry) '. –

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