Class LzmaArchive
- java.lang.Object
-
- com.aspose.zip.LzmaArchive
-
- All Implemented Interfaces:
IArchive,IArchiveFileEntry,AutoCloseable
public class LzmaArchive extends Object implements IArchive, IArchiveFileEntry, AutoCloseable
This class represents LZMA archive file. Use it to compose or extract LZMA archives.
-
-
Constructor Summary
Constructors Constructor Description LzmaArchive()Initializes a new instance of theLzmaArchiveclass and composes the archive in lzma format.LzmaArchive(LzmaArchiveSettings settings)Initializes a new instance of theLzmaArchiveclass and composes the archive in lzma format.LzmaArchive(InputStream source)Initializes a new instance of theLzmaArchiveclass prepared for decompressing.LzmaArchive(String path)Initializes a new instance of theLzmaArchiveclass prepared for decompressing.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()voidextract(File file)Extracts lzma archive to a file.voidextract(OutputStream destination)Extracts lzma archive to a stream.Fileextract(String path)Extracts lzma archive to a file by path.voidextractToDirectory(String destinationDirectory)Extracts content of the archive to the directory provided.Iterable<IArchiveFileEntry>getFileEntries()Gets entries ofIArchiveFileEntrytype constituting the lzma archive.ArchiveFormatgetFormat()Gets the archive format.LonggetLength()Gets length.StringgetName()The name of original file.voidsave(File destination)Saves lzma archive to destination file provided.voidsave(OutputStream output)Saves lzma archive to the stream provided.voidsave(String destinationFileName)Saves lzma archive to destination file provided.voidsetSource(File file)Sets the content to be compressed within the archive.voidsetSource(InputStream source)Sets the content to be compressed within the archive.voidsetSource(String sourcePath)Sets the content to be compressed within the archive.
-
-
-
Constructor Detail
-
LzmaArchive
public LzmaArchive()
Initializes a new instance of the
LzmaArchiveclass and composes the archive in lzma format.
-
LzmaArchive
public LzmaArchive(LzmaArchiveSettings settings)
Initializes a new instance of the
LzmaArchiveclass and composes the archive in lzma format.- Parameters:
settings- set of setting particular lzma archive
-
LzmaArchive
public LzmaArchive(InputStream source)
Initializes a new instance of the
LzmaArchiveclass prepared for decompressing.This constructor does not decompress. See
extract(OutputStream)method for decompressing.- Parameters:
source- the source of the archive- Throws:
com.aspose.ms.System.ArgumentNullException-sourceis null.
-
LzmaArchive
public LzmaArchive(String path)
Initializes a new instance of the
LzmaArchiveclass prepared for decompressing.try (FileInputStream sourceLzmaFile = new FileInputStream(sourceFileName)) { try (FileOutputStream extractedFile = new FileOutputStream(extractedFileName)) { try (LzmaArchive archive = new LzmaArchive(sourceLzmaFile)) { archive.extract(extractedFile); } } } catch (IOException ex) { System.out.println(ex); }This constructor does not decompress. See
extract(OutputStream)method for decompressing.- Parameters:
path- the path to the source of the archive- 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.
-
-
Method Detail
-
getFileEntries
public final Iterable<IArchiveFileEntry> getFileEntries()
Gets entries of
IArchiveFileEntrytype constituting the lzma archive.- Specified by:
getFileEntriesin interfaceIArchive- Returns:
- entries of
IArchiveFileEntrytype constituting the lzma archive.
-
getFormat
public final ArchiveFormat getFormat()
Gets the archive format.
-
getName
public final String getName()
The name of original file.
- Specified by:
getNamein interfaceIArchiveFileEntry- Returns:
- the name of the original file
-
getLength
public final Long getLength()
Gets length.- Specified by:
getLengthin interfaceIArchiveFileEntry- Returns:
- length
-
extract
public final void extract(OutputStream destination)
Extracts lzma archive to a stream.
try (FileInputStream sourceLzmaFile = new FileInputStream(sourceFileName)) { try (FileOutputStream extractedFile = new FileOutputStream(extractedFileName)) { try (LzmaArchive archive = new LzmaArchive(sourceLzmaFile)) { archive.extract(extractedFile); } } } catch (IOException ex) { System.out.println(ex); }- Specified by:
extractin interfaceIArchiveFileEntry- Parameters:
destination- the stream for storing decompressed data- Throws:
com.aspose.ms.System.InvalidOperationException- Archive headers and service information were not read.com.aspose.ms.System.IO.InvalidDataException- The archive is corrupted.com.aspose.ms.System.ArgumentNullException- Destination stream is null.com.aspose.ms.System.ArgumentException- Destination stream does not support writing.
-
extract
public final void extract(File file)
Extracts lzma archive to a file.
try (FileInputStream lzmaFile = new FileInputStream(sourceFileName)) { try (LzmaArchive archive = new LzmaArchive(lzmaFile)) { archive.extract(new File("extracted.bin")); } } catch (IOException ex) { System.out.println(ex); }- Parameters:
file- the file for storing decompressed data- Throws:
com.aspose.ms.System.InvalidOperationException- Archive headers and service information were not read.com.aspose.ms.System.SecurityException- The caller does not have the required permission to open thefile.com.aspose.ms.System.ArgumentException- The file path is empty or contains only white spaces.com.aspose.ms.System.IO.FileNotFoundException- The file is not found.com.aspose.ms.System.ArgumentNullException-fileis null.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.InvalidDataException- The archive is corrupted.
-
extract
public final File extract(String path)
Extracts lzma archive to a file by path.
try (FileInputStream lzmaFile = new FileInputStream(sourceFileName)) { try (LzmaArchive archive = new LzmaArchive(lzmaFile)) { archive.extract("extracted.bin"); } } catch (IOException ex) { System.out.println(ex); }- Specified by:
extractin interfaceIArchiveFileEntry- Parameters:
path- the path to the file which will store decompressed data- Returns:
- the file info of the extracted file
- Throws:
com.aspose.ms.System.InvalidOperationException- Archive headers and service information were not read.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.InvalidDataException- Archive is corrupted.
-
extractToDirectory
public final void extractToDirectory(String destinationDirectory)
Extracts content of the archive to the directory provided.
- 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-destinationDirectoryis null.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.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, the path contains a colon character (:) that is not part of a drive label ("C:\").com.aspose.ms.System.ArgumentException-destinationDirectoryis 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.
-
setSource
public final void setSource(InputStream source)
Sets the content to be compressed within the archive.
try (LzmaArchive archive = new LzmaArchive()) { archive.setSource(new ByteArrayInputStream(new byte[] { 0x00, (byte) 0xFF })); archive.save("archive.lzma"); }- Parameters:
source- the input stream for the archive- Throws:
com.aspose.ms.System.ArgumentException- Thesourcestream is unseekable.
-
setSource
public final void setSource(File file)
Sets the content to be compressed within the archive.
try (LzmaArchive archive = new LzmaArchive()) { archive.setSource(new File("data.bin")); archive.save("archive.lzma"); }- Parameters:
file- the file, which will be opened as input stream- Throws:
com.aspose.ms.System.SecurityException- The caller does not have the required permission to open thefile.com.aspose.ms.System.ArgumentException- The ile path is empty or contains only white spaces.com.aspose.ms.System.IO.FileNotFoundException- The file is not found.com.aspose.ms.System.ArgumentNullException-fileis null.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.
-
setSource
public final void setSource(String sourcePath)
Sets the content to be compressed within the archive.
try (LzmaArchive archive = new LzmaArchive()) { archive.setSource("data.bin"); archive.save("archive.lzma"); }- Parameters:
sourcePath- path to file, which will be opened as input stream- Throws:
com.aspose.ms.System.ArgumentNullException-sourcePathis null.com.aspose.ms.System.SecurityException- The caller does not have the required permission to access.com.aspose.ms.System.ArgumentException- ThesourcePathis empty, contains only white spaces, or contains invalid characters.com.aspose.ms.System.IO.PathTooLongException- The specifiedsourcePath, 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 atsourcePathcontains a colon (:) in the middle of the string.
-
save
public final void save(OutputStream output)
Saves lzma archive to the stream provided.
try (FileOutputStream lzmaFile = new FileOutputStream("archive.lzma")) { try (LzmaArchive archive = new LzmaArchive()) { archive.setSource("data.bin"); archive.save(lzmaFile); } } catch (IOException ex) { System.out.println(ex); }- Parameters:
output- destination stream- Throws:
com.aspose.ms.System.ArgumentNullException-outputis null.
-
save
public final void save(File destination)
Saves lzma archive to destination file provided.
try (LzmaArchive archive = new LzmaArchive()) { archive.setSource(new File("data.bin")); archive.save(new File("archive.lzma")); }- Parameters:
destination- the file, which will be opened as destination stream- Throws:
com.aspose.ms.System.SecurityException- The caller does not have the required permission to open thedestination.com.aspose.ms.System.ArgumentException- The ile path is empty or contains only white spaces.com.aspose.ms.System.IO.FileNotFoundException- The file is not found.com.aspose.ms.System.ArgumentNullException-destinationis null.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.
-
save
public final void save(String destinationFileName)
Saves lzma archive to destination file provided.
try (LzmaArchive archive = new LzmaArchive()) { archive.setSource(new File("data.bin")); archive.save("result.lzma"); }- Parameters:
destinationFileName- the path of the archive to be created. If the specified file name points to an existing file, it will be overwritten- Throws:
com.aspose.ms.System.ArgumentNullException-destinationFileNameis null.com.aspose.ms.System.SecurityException- The caller does not have the required permission to access.com.aspose.ms.System.ArgumentException- ThedestinationFileNameis empty, contains only white spaces, or contains invalid characters.com.aspose.ms.System.IO.PathTooLongException- The specifieddestinationFileName, 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 atdestinationFileNamecontains a colon (:) in the middle of the string.
-
close
public void close()
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceIArchive
-
-