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

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.16.1
    • Fix Version/s: 1.17
    • Component/s: Archivers, Compressors
    • Labels:
      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

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

              Dates

              • Created:
                Updated:
                Resolved: