## net.i2p.util
Class ResettableGZIPOutputStream

    java.lang.Object
      java.io.OutputStream
          java.io.FilterOutputStream
              java.util.zip.DeflaterOutputStream
                  net.i2p.util.ResettableGZIPOutputStream

All Implemented Interfaces:
  Closeable, Flushable

Direct Known Subclasses:
  ReusableGZIPOutputStream

    public class ResettableGZIPOutputStream

extends DeflaterOutputStream

GZIP implementation per RFC 1952, reusing java's standard CRC32 and Deflater implementations. The main difference is that this implementation allows its state to be reset to initial values, and hence reused, while the standard GZIPOutputStream writes the GZIP header to the stream on instantiation, rather than on first write.

Field Summary

Fields inherited from class java.util.zip.DeflaterOutputStream
`buf, def`

Fields inherited from class java.io.FilterOutputStream
`out`

Constructor Summary
`ResettableGZIPOutputStream(OutputStream o)`

Method Summary
`void` `close()`
`void` `finish()`
`void` `reset()` Reinitialze everything so we can write a brand new gzip output stream again.
`void` `write(byte[] buf)`
`void` `write(byte[] buf, int off, int len)`
`void` `write(int b)`

Methods inherited from class java.util.zip.DeflaterOutputStream
`deflate`

Methods inherited from class java.io.FilterOutputStream
`flush`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ResettableGZIPOutputStream

    public ResettableGZIPOutputStream(OutputStream o)

Method Detail

### reset

    public void reset()

  Reinitialze everything so we can write a brand new gzip output stream again.

### close

    public void close()
               throws IOException

  Specified by:
    `close` in interface `Closeable`
  Overrides:
    `close` in class `DeflaterOutputStream`
  Throws:
    `IOException`

### finish

    public void finish()
                throws IOException

  Overrides:
    `finish` in class `DeflaterOutputStream`
  Throws:
    `IOException`

### write

    public void write(int b)
               throws IOException

  Overrides:
    `write` in class `DeflaterOutputStream`
  Throws:
    `IOException`

### write

    public void write(byte[] buf)
               throws IOException

  Overrides:
    `write` in class `FilterOutputStream`
  Throws:
    `IOException`

### write

    public void write(byte[] buf,
                      int off,
                      int len)
               throws IOException

  Overrides:
    `write` in class `DeflaterOutputStream`
  Throws:
    `IOException`