[ https://issues.apache.org/jira/browse/COMPRESS-651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17824977#comment-17824977 ]
Gary D. Gregory commented on COMPRESS-651: ------------------------------------------ [~ahmadin] This is how to write this test to correctly decompress this kind of file: {code:java} @Test public void testCompress651() throws IOException { final int buffersize = 102_400; final Path pathIn = Paths.get("src/test/resources/org/apache/commons/compress/COMPRESS-651/my10m.tar.bz2"); final Path pathOut = Paths.get("target/COMPRESS-651/test.tar"); Files.createDirectories(pathOut.getParent()); try (BZip2CompressorInputStream inputStream = new BZip2CompressorInputStream(new BufferedInputStream(Files.newInputStream(pathIn)), true); OutputStream outputStream = Files.newOutputStream(pathOut)) { IOUtils.copy(inputStream, outputStream, buffersize); } // expected size confirmed locally on macOS assertEquals(10_496_000, Files.size(pathOut)); } {code} Thank you [~peterhul...@gmail.com] Notice the use of {{BZip2CompressorInputStream(InputStream, boolean)}} > Decompress BZIP2 File Max Output is 900000 chars > ------------------------------------------------ > > Key: COMPRESS-651 > URL: https://issues.apache.org/jira/browse/COMPRESS-651 > Project: Commons Compress > Issue Type: Bug > Components: Compressors > Affects Versions: 1.24.0 > Environment: Plain Java in IntelliJ > Reporter: Ahmadin Badruddin > Priority: Major > Attachments: my10m.tar.bz2 > > > I tried to uncompress a big file (a few MBs) of bz2 file using > BZip2CompressorInputStream, the max output I can get is 900000 in size. > The following example > {code:java} > -rw-r--r-- 1 ahmadin staff 167283773 Nov 9 15:50 test.tar.bz2 > -rw-r--r-- 1 ahmadin staff 900000 Nov 9 15:51 test.tar {code} > The code I use is the example from > [https://commons.apache.org/proper/commons-compress/examples.html] > {code:java} > public class BZ2Extract { > public static void main(String[] args) { > int buffersize = 102400; > InputStream fin = null; > try { > fin = Files.newInputStream(Paths.get("/cfm/test.tar.bz2")); > BufferedInputStream in = new BufferedInputStream(fin); > OutputStream out = > Files.newOutputStream(Paths.get("/cfm/test.tar")); > BZip2CompressorInputStream bzIn = new > BZip2CompressorInputStream(in); > final byte[] buffer = new byte[buffersize]; > int n = 0; > while (-1 != (n = bzIn.read(buffer))) { > out.write(buffer, 0, n); > } > out.close(); > bzIn.close(); > } catch (IOException e) { > throw new RuntimeException(e); > } > } > } {code} > If I use bzip2 on my mac to uncompress, the file size is 1199749120 after > uncompressing -- This message was sent by Atlassian Jira (v8.20.10#820010)