@blog.justoneplanet.info

日々勉強

ZipInputStreamから文字列を取り出す

メモ。

■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となる。

コメントはまだありません»

No comments yet.

RSS feed for comments on this post.TrackBack URL

Leave a comment