public void finish ( ) throws IOException { if ( ! finished ) { if ( exception != null ) throw exception ; try { if ( expectedUncompressedSize != - 1 && expectedUncompressedSize != currentUncompressedSize ) throw new XZIOException ( "Expected uncompressed size (" + expectedUncompressedSize + ") doesn't equal " + "the number of bytes written to the stream (" + currentUncompressedSize + ")" ) ; lz . setFinishing ( ) ; lzma . encodeForLZMA1 ( ) ; if ( useEndMarker ) lzma . encodeLZMA1EndMarker ( ) ; rc . finish ( ) ; } catch ( IOException e ) { exception = e ; throw e ; } finished = true ; lzma . putArraysToCache ( arrayCache ) ; lzma = null ; lz = null ; } }
Finishes the stream without closing the underlying OutputStream .