snappy-java icon indicating copy to clipboard operation
snappy-java copied to clipboard

How can I decompress Framed Format files?

Open egorbarkovsky opened this issue 4 years ago • 1 comments

Sorry, but how can I decompress Framed Format files?

egorbarkovsky avatar Dec 02 '20 17:12 egorbarkovsky

  public static void main(String[] args) throws IOException {
        FileInputStream file = new FileInputStream("DataList.txt");
        byte[] compressed = compressFrame(file.readAllBytes());
        for (byte b: compressed) {
            System.out.print(b + " ");
        }
        byte[] decompressed = uncompressFrames(compressFrame(input)); **//why null?**
    }


    public static byte[] compressFrame(byte[] input) throws IOException {
        try(ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(input.length)) {
            try(SnappyFramedOutputStream snappyFramedOutputStream = new SnappyFramedOutputStream(byteArrayOutputStream)) {
                snappyFramedOutputStream.write(input);
                snappyFramedOutputStream.flush();
                return byteArrayOutputStream.toByteArray();
            }
        }
    }

    public static byte[] uncompressFrames(byte[] input)
            throws IOException
    {
        try(ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(input)) {
            try(SnappyFramedInputStream snappyFramedInputStream = new SnappyFramedInputStream(byteArrayInputStream, false)) {
                try (ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream()) {
                    snappyFramedInputStream.transferTo(byteArrayOutputStream);
                    return byteArrayInputStream.readAllBytes();
                }
            }
        }
    }

egorbarkovsky avatar Dec 02 '20 18:12 egorbarkovsky