SetSource

GzipArchive.SetSource method (1 of 4)

Sets the content to be compressed within the archive.

public void SetSource(Stream source)
ParameterTypeDescription
sourceStreamThe input stream for the archive.

Examples

using (var archive = new GzipArchive())
{
    archive.SetSource(new MemoryStream(new byte[] { 0x00, 0xFF }));
    archive.Save("archive.gz");
}

See Also


GzipArchive.SetSource method (2 of 4)

Sets the content to be compressed within the archive.

public void SetSource(FileInfo fileInfo)
ParameterTypeDescription
fileInfoFileInfoThe reference to a file to be compressed.

Examples

Open an archive from a stream and extract it to a MemoryStream

using (var archive = new GzipArchive()) 
{
    archive.SetSource(new FileInfo("data.bin"));
    archive.Save("archive.gz");
}

See Also


GzipArchive.SetSource method (3 of 4)

Sets the content to be compressed within the archive.

public void SetSource(string path)
ParameterTypeDescription
pathStringPath to file to be compressed.

Exceptions

exceptioncondition
ArgumentNullExceptionpath is null.
SecurityExceptionThe caller does not have the required permission to access.
ArgumentExceptionThe path is empty, contains only white spaces, or contains invalid characters.
UnauthorizedAccessExceptionAccess to file path is denied.
PathTooLongExceptionThe 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.
NotSupportedExceptionFile at path contains a colon (:) in the middle of the string.

Examples

Open an archive from file by path and extract it to a MemoryStream

using (var archive = new GzipArchive()) 
{
    archive.SetSource("data.bin");
    archive.Save("archive.gz");
}

See Also


GzipArchive.SetSource method (4 of 4)

Sets the content to be compressed within the archive.

public void SetSource(TarArchive tarArchive)
ParameterTypeDescription
tarArchiveTarArchiveTar archive to be compressed.

Remarks

Use this method to compose joint tar.gz archive.

Examples

using (var tarArchive = new TarArchive())
{
    tarArchive.CreateEntry("first.bin", "data1.bin");
    tarArchive.CreateEntry("second.bin", "data2.bin");
    using (var gzippedArchive = new GzipArchive())
    {
           gzippedArchive.SetSource(tarArchive);
           gzippedArchive.Save("archive.tar.gz");
    }
}

See Also