Class CabArchive

    • Constructor Detail

      • CabArchive

        public CabArchive​(InputStream sourceStream)

        Initializes a new instance of the CabArchive class and composes an entry list can be extracted from the archive.

        The following example shows how to extract all the entries to a directory.

        
             try (CabArchive archive = new CabArchive(new FileInputStream("archive.cab"))) {
                 archive.extractToDirectory("C:\\extracted");
             } catch (IOException ex) {
             }
         

        This constructor does not unpack any entry. See CabEntry.open() method for unpacking.

        Parameters:
        sourceStream - the source of the archive
        Throws:
        com.aspose.ms.System.ArgumentNullException - sourceStream is null.
        com.aspose.ms.System.ArgumentException - sourceStream is not seekable.
        com.aspose.ms.System.IO.InvalidDataException - sourceStream is not valid cab archive.
        com.aspose.ms.System.IO.EndOfStreamException - The stream is too short.
      • CabArchive

        public CabArchive​(InputStream sourceStream,
                          CabLoadOptions loadOptions)

        Initializes a new instance of the CabArchive class and composes an entry list can be extracted from the archive.

        The following example shows how to extract all the entries to a directory.

        
             try (CabArchive archive = new CabArchive(new FileInputStream("archive.cab"))) {
                 archive.extractToDirectory("C:\\extracted");
             } catch (IOException ex) {
             }
         

        This constructor does not unpack any entry. See CabEntry.open() method for unpacking.

        Parameters:
        sourceStream - the source of the archive
        loadOptions - Options to load existing archive with.
        Throws:
        com.aspose.ms.System.ArgumentNullException - sourceStream is null.
        com.aspose.ms.System.ArgumentException - sourceStream is not seekable.
        com.aspose.ms.System.IO.InvalidDataException - sourceStream is not valid cab archive.
        com.aspose.ms.System.IO.EndOfStreamException - The stream is too short.
      • CabArchive

        public CabArchive​(String path)

        Initializes a new instance of the CabArchive class and composes an entry list can be extracted from the archive.

        The following example shows how to extract all the entries to a directory.

        
             try (CabArchive archive = new CabArchive("archive.cab")) {
                 archive.extractToDirectory("C:\\extracted");
             } catch (IOException ex) {
             }
         

        This constructor does not unpack any entry. See CabEntry.open() method for unpacking.

        Parameters:
        path - the path to the archive file
        Throws:
        com.aspose.ms.System.ArgumentNullException - path is null.
        com.aspose.ms.System.SecurityException - The caller does not have the required permission to access.
        com.aspose.ms.System.ArgumentException - The path is empty, contains only white spaces, or contains invalid characters.
        com.aspose.ms.System.IO.PathTooLongException - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters.
        com.aspose.ms.System.NotSupportedException - File at path contains a colon (:) in the middle of the string.
        com.aspose.ms.System.IO.FileNotFoundException - The file is not found.
        com.aspose.ms.System.IO.DirectoryNotFoundException - The specified path is invalid, such as being on an unmapped drive.
        com.aspose.ms.System.IO.IOException - The file is already open.
        com.aspose.ms.System.IO.EndOfStreamException - The file is too short.
      • CabArchive

        public CabArchive​(String path,
                          CabLoadOptions loadOptions)

        Initializes a new instance of the CabArchive class and composes an entry list can be extracted from the archive.

        The following example shows how to extract all the entries to a directory.

        
             try (CabArchive archive = new CabArchive("archive.cab")) {
                 archive.extractToDirectory("C:\\extracted");
             } catch (IOException ex) {
             }
         

        This constructor does not unpack any entry. See CabEntry.open() method for unpacking.

        Parameters:
        path - the path to the archive file
        loadOptions - Options to load existing archive with.
        Throws:
        com.aspose.ms.System.ArgumentNullException - path is null.
        com.aspose.ms.System.SecurityException - The caller does not have the required permission to access.
        com.aspose.ms.System.ArgumentException - The path is empty, contains only white spaces, or contains invalid characters.
        com.aspose.ms.System.IO.PathTooLongException - The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters.
        com.aspose.ms.System.NotSupportedException - File at path contains a colon (:) in the middle of the string.
        com.aspose.ms.System.IO.FileNotFoundException - The file is not found.
        com.aspose.ms.System.IO.DirectoryNotFoundException - The specified path is invalid, such as being on an unmapped drive.
        com.aspose.ms.System.IO.IOException - The file is already open.
        com.aspose.ms.System.IO.EndOfStreamException - The file is too short.
    • Method Detail

      • getEntries

        public final List<CabEntry> getEntries()

        Gets entries of CabEntry type constituting the archive.

        Returns:
        entries of CabEntry type constituting the archive
      • getFormat

        public final ArchiveFormat getFormat()

        Gets the archive format.

        Specified by:
        getFormat in interface IArchive
        Returns:
        the archive format
      • extractToDirectory

        public final void extractToDirectory​(String destinationDirectory)

        Extracts all the files in the archive to the directory provided.

        
             try (CabArchive archive = new CabArchive("archive.cab")) {
                 archive.extractToDirectory("C:\\extracted");
             } catch (IOException ex) {
             }
         
        Specified by:
        extractToDirectory in interface IArchive
        Parameters:
        destinationDirectory - the path to the directory to place the extracted files in.

        If the directory does not exist, it will be created

        Throws:
        com.aspose.ms.System.ArgumentNullException - path is null
        com.aspose.ms.System.IO.PathTooLongException - The specified path, file name, or both exceed the system-defined maximum length.
        com.aspose.ms.System.SecurityException - The caller does not have the required permission to access the existing directory.
        com.aspose.ms.System.NotSupportedException - If the directory does not exist, a path contains a colon character (:) that is not part of a drive label ("C:\").
        com.aspose.ms.System.ArgumentException - path is a zero-length string, contains only white space, or contains one or more invalid characters.
        com.aspose.ms.System.IO.IOException - The directory specified by path is a file. -or- The network name is not known.
        com.aspose.ms.System.IO.InvalidDataException - The archive is corrupted.