Class CabArchive
- java.lang.Object
-
- com.aspose.zip.CabArchive
-
- All Implemented Interfaces:
IArchive,AutoCloseable
public class CabArchive extends Object implements IArchive, AutoCloseable
This class represents a cab archive file.
-
-
Constructor Summary
Constructors Constructor Description CabArchive(InputStream sourceStream)Initializes a new instance of theCabArchiveclass and composes an entry list can be extracted from the archive.CabArchive(InputStream sourceStream, CabLoadOptions loadOptions)Initializes a new instance of theCabArchiveclass and composes an entry list can be extracted from the archive.CabArchive(String path)Initializes a new instance of theCabArchiveclass and composes an entry list can be extracted from the archive.CabArchive(String path, CabLoadOptions loadOptions)Initializes a new instance of theCabArchiveclass and composes an entry list can be extracted from the archive.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()voidextractToDirectory(String destinationDirectory)Extracts all the files in the archive to the directory provided.List<CabEntry>getEntries()Gets entries ofCabEntrytype constituting the archive.Iterable<IArchiveFileEntry>getFileEntries()Gets entries ofIArchiveFileEntrytype constituting the cab archive.ArchiveFormatgetFormat()Gets the archive format.
-
-
-
Constructor Detail
-
CabArchive
public CabArchive(InputStream sourceStream)
Initializes a new instance of the
CabArchiveclass 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-sourceStreamis null.com.aspose.ms.System.ArgumentException-sourceStreamis not seekable.com.aspose.ms.System.IO.InvalidDataException-sourceStreamis 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
CabArchiveclass 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 archiveloadOptions- Options to load existing archive with.- Throws:
com.aspose.ms.System.ArgumentNullException-sourceStreamis null.com.aspose.ms.System.ArgumentException-sourceStreamis not seekable.com.aspose.ms.System.IO.InvalidDataException-sourceStreamis 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
CabArchiveclass 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-pathis null.com.aspose.ms.System.SecurityException- The caller does not have the required permission to access.com.aspose.ms.System.ArgumentException- Thepathis empty, contains only white spaces, or contains invalid characters.com.aspose.ms.System.IO.PathTooLongException- The specifiedpath, 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 atpathcontains 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
CabArchiveclass 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 fileloadOptions- Options to load existing archive with.- Throws:
com.aspose.ms.System.ArgumentNullException-pathis null.com.aspose.ms.System.SecurityException- The caller does not have the required permission to access.com.aspose.ms.System.ArgumentException- Thepathis empty, contains only white spaces, or contains invalid characters.com.aspose.ms.System.IO.PathTooLongException- The specifiedpath, 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 atpathcontains 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
CabEntrytype constituting the archive.- Returns:
- entries of
CabEntrytype constituting the archive
-
getFileEntries
public final Iterable<IArchiveFileEntry> getFileEntries()
Gets entries of
IArchiveFileEntrytype constituting the cab archive.- Specified by:
getFileEntriesin interfaceIArchive- Returns:
- entries of
IArchiveFileEntrytype constituting the cab archive
-
getFormat
public final ArchiveFormat getFormat()
Gets the archive format.
-
close
public void close()
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceIArchive
-
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:
extractToDirectoryin interfaceIArchive- 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 nullcom.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.
-
-