Вывод: Имея байтовое изображение a.zip
, содержащее a.txt
, как мне получить чистую и правильную программу чтения, которая возвращает строки текстового файла?
Я загружаю образ zip-файла с веб-службы в папку byte[] content
. Я хотел бы написать метод, например
private BufferedReader contentToBufferedReader(byte[] content)
который вернет читатель, который можно использовать как
reader = contentToBufferedReader(content);
while ((line = reader.readLine()) != null) {
processThe(line);
}
reader.close()
На данный момент у меня есть (обновлено)
private BufferedReader contentToBufferedReader(byte[] content) {
ByteArrayInputStream bais = new ByteArrayInputStream(content);
ZipInputStream zipStream = new ZipInputStream(bais);
BufferedReader reader = null;
try {
ZipEntry entry = zipStream.getNextEntry();
// I need only the first (and the only) entry from the zip file.
if (entry != null) {
reader = new BufferedReader(new InputStreamReader(zipStream, "UTF-8"));
System.out.println("contentToBufferedReader(): success");
}
}
catch (IOException e) {
System.out.println("contentToBufferedReader(): failed...");
System.out.println(e.getMessage());
}
return reader;
}
Я не уверен, как закрыть весь объект потока, когда что-то не получается. Более того, я не уверен, как их закрыть, если reader
был успешно возвращен, использован и закрыт.
zipStream
. Я изменил вопрос, чтобы его нельзя было считать дубликатом вопроса, который вы упомянули. - person pepr   schedule 08.10.2013