メモ。
■ZipInputStream
Zipはzip化されたデータとヘッダー情報から成る。
public static String readZIPStream(InputStream inputStream) throws IOException { String str = ""; String readed; ZipInputStream zis = new ZipInputStream(inputStream); InputStreamReader inputStreamReader = new InputStreamReader(zis); BufferedReader bufferReader = new BufferedReader(inputStreamReader); while (zis.getNextEntry() != null) { while ((readed = bufferReader.readLine()) != null) { str += readed + "\n"; } zis.closeEntry(); } bufferReader.close(); inputStreamReader.close(); zis.close(); return str; }
■GZIPInputStream
GZipはzip化されたデータ本体で、GZipの場合は勝手が違う。
public static String readGZIPStream(InputStream inputStream) throws IOException { String str = ""; GZIPInputStream gzis = new GZIPInputStream(inputStream); InputStreamReader inputStreamReader = new InputStreamReader(gzis); BufferedReader bufferReader = new BufferedReader(inputStreamReader); String readed; while ((readed = bufferReader.readLine()) != null) { str += readed; } bufferReader.close(); inputStreamReader.close(); gzis.close(); return str; }
BufferedReaderをインスタンス化するときにサイズを指定しない場合は8192となる。