Exemplo n.º 1
0
    public IArchiveReader CreateReader(ArchiveType archiveType)
    {
        switch (archiveType)
        {
        case ArchiveType.Zip:
        case ArchiveType.Tar:
        case ArchiveType.TarGz:
        case ArchiveType.TarBz2:
        case ArchiveType.TarXz:
        case ArchiveType.TarLz:
        case ArchiveType.Gz:
        case ArchiveType.SevenZip:
            return(CreateDefaultArchiveReader());

        case ArchiveType.Xz:
            return(SingleFileZipArchiveReader(new XzStreamFactory()));

        case ArchiveType.Lz:
            return(SingleFileZipArchiveReader(new LzipStreamFactory()));

        case ArchiveType.Bz2:
            return(SingleFileZipArchiveReader(new Bz2StreamFactory()));

        default:
            throw new ArgumentOutOfRangeException(nameof(archiveType), archiveType, null);
        }
    }
Exemplo n.º 2
0
 public IArchiveWriter CreateWriter(ArchiveType archiveType) =>
 archiveType switch
 {