C#支持格式最多的解压缩开源库SharpCompress

Posted LuoCore

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#支持格式最多的解压缩开源库SharpCompress相关的知识,希望对你有一定的参考价值。


string archivePath = "path/to/";
string extractPath = "path/to/extract/folder";
string[] filesRar = Directory.GetFiles(archivePath, "*.RAR");
            foreach (var item in filesRar)
            
                using (Stream stream = File.OpenRead(item))
                
                    var reader = SharpCompress.Readers.ReaderFactory.Open(stream);
                    while (reader.MoveToNextEntry())
                    
                        if (!reader.Entry.IsDirectory)
                        
                            reader.WriteEntryToDirectory(extractPath);
                        
                    
                
            

 

Ubuntu中一些常用的解压缩操作

zip,tar,tar.gz,tar.bz2格式

ZIP

zip可能是目前使用得最多的文档压缩格式。它最大的优点就是在不同的操作系统平台,比如Linux, Windows以及Mac OS,上使用。缺点就是支持的压缩率不是很高,而tar.gz和tar.gz2在压缩率方面做得非常好。闲话少说,我们步入正题吧:

我们可以使用下列的命令压缩一个目录:

zip -r archive_name.zip directory_to_compress

下面是如果解压一个zip文档:

unzip archive_name.zip

TAR

Tar是在Linux中使用得非常广泛的文档打包格式。它的好处就是它只消耗非常少的CPU以及时间去打包文件,他仅仅只是一个打包工具,并不负责压缩。下面是如何打包一个目录:

tar -cvf archive_name.tar directory_to_compress

如何解包:

tar -xvf archive_name.tar.gz

上面这个解包命令将会将文档解开在当前目录下面。当然,你也可以用这个命令来捏住解包的路径:

tar -xvf archive_name.tar -C /tmp/extract_here/

TAR.GZ

这种格式是我使用得最多的压缩格式。它在压缩时不会占用太多CPU的,而且可以得到一个非常理想的压缩率。使用下面这种格式去压缩一个目录:

tar -zcvf archive_name.tar.gz directory_to_compress

解压缩:

tar -zxvf archive_name.tar.gz

上面这个解包命令将会将文档解开在当前目录下面。当然,你也可以用这个命令来捏住解包的路径:

tar -zxvf archive_name.tar.gz -C /tmp/extract_here/

TAR.BZ2

这种压缩格式是我们提到的所有方式中压缩率最好的。当然,这也就意味着,它比前面的方式要占用更多的CPU与时间。这个就是你如何使用tar.bz2进行压缩。

tar -jcvf archive_name.tar.bz2 directory_to_compress

上面这个解包命令将会将文档解开在当前目录下面。当然,你也可以用这个命令来捏住解包的路径:

tar -jxvf archive_name.tar.bz2 -C /tmp/extract_here/

以上是关于C#支持格式最多的解压缩开源库SharpCompress的主要内容,如果未能解决你的问题,请参考以下文章

7-Zip下载|7-Zip下载

在支持rar格式的c#中搜索压缩库

云服务器怎么解压文件

使用ffmpeg实现对h264视频解码 -- (实现了一个易于使用的c++封装库)

mac上好用的解压缩软件是哪个

C#中Python的解包函数