作業コード:
InputStream is = zipFile.getInputStream(zipArchiveEntry);
BufferedReader br = new BufferedReader(new InputStreamReader(zis));
StringBuilder sb = new StringBuilder();
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
コードが機能しない
InputStream is = zipFile.getInputStream(zipArchiveEntry);
ZipArchiveInputStream zis = new ZipArchiveInputStream(is);
if(zis.canReadEntryData(zipArchiveEntry)) {
// Start
BufferedReader br = new BufferedReader(new InputStreamReader(zis));
StringBuilder sb = new StringBuilder();
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
}
アイデアはInputStreamから読み取るのではなく、inputStreamからZipArchiveInputStreamを作成して、canReadEntryData()メソッドを利用できるようにします。canReadEntryData()は完全に正常に機能します。通常のファイルではtrueを返しますが、ZipArchiveInputStreamからコンテンツを読み取ることができません。
助けてください。どこが間違っているのかを教えてください。