SharArchive.Save

Save(string)

Saves archive to destination file provided.

public void Save(string destinationFileName)
ParameterTypeDescription
destinationFileNameStringThe path of the archive to be created. If the specified file name points to an existing file, it will be overwritten.

Exceptions

exceptioncondition
ArgumentExceptiondestinationFileName is a zero-length string, contains only white space, or contains one or more invalid characters as defined by System.IO.Path.InvalidPathChars.
ArgumentNullExceptiondestinationFileName is null.
PathTooLongExceptionThe specified destinationFileName, 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.
DirectoryNotFoundExceptionThe specified destinationFileName is invalid, (for example, it is on an unmapped drive).
IOExceptionAn I/O error occurred while opening the file.
UnauthorizedAccessExceptiondestinationFileName specified a file that is read-only and access is not Read.-or- path specified a directory.-or- The caller does not have the required permission.
NotSupportedExceptiondestinationFileName is in an invalid format.
FileNotFoundExceptionThe file is not found.

Remarks

It is possible to save an archive to the same path as it was loaded from. However, this is not recommended because this approach uses copying to temporary file.

Examples

using (var archive = new SharArchive())
{
    archive.CreateEntry("entry1", "data.bin");        
    archive.Save("archive.shar");
}       

See Also


Save(Stream)

Saves archive to the stream provided.

public void Save(Stream output)
ParameterTypeDescription
outputStreamDestination stream.

Exceptions

exceptioncondition
ArgumentNullExceptionoutput is null.
ArgumentExceptionoutput is not writable. - or - output is the same stream we extract from.

Remarks

output must be writable.

Examples

using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
    using (var archive = new SharArchive())
    {
        archive.CreateEntry("entry1", "data.bin");        
        archive.Save(sharFile);
    }
}       

See Also