diff --git a/src/main/java/org/xerial/snappy/SnappyOutputStream.java b/src/main/java/org/xerial/snappy/SnappyOutputStream.java index bbe27a3..67af407 100755 --- a/src/main/java/org/xerial/snappy/SnappyOutputStream.java +++ b/src/main/java/org/xerial/snappy/SnappyOutputStream.java @@ -34,8 +34,14 @@ import java.io.OutputStream; * The input data is blocked into 32kb size (in default), and each block is * compressed and then passed to the given {@link OutputStream}. * - * The output data format is a sequence of (compressed chunk size, compressed - * data chunk binary...) pair. + * The output data format is a sequence of (compressed data size, compressed + * data...) pair. + * + * Note that the compressed data created by {@link SnappyOutputStream} cannot be + * uncompressed by {@link Snappy#uncompress(byte[])} since the output formats of + * {@link Snappy#compress(byte[])} and {@link SnappyOutputStream} are different. + * Use {@link SnappyInputStream} for uncompress the data generated by + * {@link SnappyOutputStream}. * * @author leo * diff --git a/src/test/java/org/xerial/snappy/SnappyTest.java b/src/test/java/org/xerial/snappy/SnappyTest.java index 3cad26a..8611fbe 100755 --- a/src/test/java/org/xerial/snappy/SnappyTest.java +++ b/src/test/java/org/xerial/snappy/SnappyTest.java @@ -283,4 +283,14 @@ public class SnappyTest assertEquals(s, uncompressedString); } + @Test + public void isValidCompressedData() throws Exception { + + byte[] b = new byte[] { (byte) 91, (byte) 34, (byte) 80, (byte) 73, (byte) 34, (byte) 93 }; + if (Snappy.isValidCompressedBuffer(b, 0, b.length)) { + byte[] uncompressed = Snappy.uncompress(b); + } + + } + }