Uploaded image for project: 'Commons Compress'
  1. Commons Compress
  2. COMPRESS-452

"Stream is not in the BZip2 format" exception on valid archive

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.16.1
    • 1.17
    • Archivers, Compressors
    • None

    Description

      The included 7z archive (with only one file), that is password protected, can be properly decompressed with 7z tool. Yet, getNextEntry() throws "Stream is not in the BZip2 format" exception.

      The code is:

      private static final byte[] PASSWORD = "iBlm8NTigvru0Jr0".getBytes();
      
      public static void main(String[] args) throws IOException {
       String fileName = "r:/txt.7z";
           SevenZArchiveEntry entry;
           try (SevenZFile arch = new SevenZFile(new File(fileName), PASSWORD)) {
       while ((entry = arch.getNextEntry()) != null) 
      
      {             System.out.println(entry.getName()); }
      
      }
      

      The same exception is thrown when one uses SevenZFile(SeekableByteChannel, byte[]) constructor. Password seems to be OK, since changing it yields different exception (and it also works in 7z tool).

      Full exception is:

      Exception in thread "main" java.io.IOException: Stream is not in the BZip2 format
        at org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream.init(BZip2CompressorInputStream.java:252)
        at org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream.<init>(BZip2CompressorInputStream.java:134)
        at org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream.<init>(BZip2CompressorInputStream.java:112)
        at org.apache.commons.compress.archivers.sevenz.Coders$BZIP2Decoder.decode(Coders.java:254)
        at org.apache.commons.compress.archivers.sevenz.Coders.addDecoder(Coders.java:79)
        at org.apache.commons.compress.archivers.sevenz.SevenZFile.buildDecoderStack(SevenZFile.java:933)
        at org.apache.commons.compress.archivers.sevenz.SevenZFile.buildDecodingStream(SevenZFile.java:909)
        at org.apache.commons.compress.archivers.sevenz.SevenZFile.getNextEntry(SevenZFile.java:222)
        at UnpackTest.main(UnpackTest.java:17)
      

       

       

      Attachments

        1. txt.7z
          24 kB
          Tomisław Kityński

        Activity

          People

            bodewig Stefan Bodewig
            cromax Tomisław Kityński
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: