调用SevenZipSharp解压文件

分3种操作方式

1、获取路径,逐个文件解压

DateTime beforDT1 = System.DateTime.Now;
SevenZipExtractor sevenZipExtractor1 = new SevenZipExtractor("Downloads.7z");
foreach (string it in sevenZipExtractor1.ArchiveFileNames)
{
Console.WriteLine(it);

sevenZipExtractor1.ExtractFiles("123", it);
}
sevenZipExtractor1.Dispose();
DateTime afterDT1 = System.DateTime.Now;
TimeSpan ts1 = afterDT1.Subtract(beforDT1);
Console.WriteLine("DateTime总共花费{0}ms.", ts1.TotalMilliseconds);

2、获取路径,一次性全解压

DateTime beforDT = System.DateTime.Now;
SevenZipExtractor sevenZipExtractor = new SevenZipExtractor("Downloads.7z");
List<string> files = new List<string>();
foreach (string it in sevenZipExtractor.ArchiveFileNames)
{
Console.WriteLine(it);

files.Add(it);
}
sevenZipExtractor.ExtractFiles("Downloads1", files.ToArray());
sevenZipExtractor.Dispose();
DateTime afterDT = System.DateTime.Now;
TimeSpan ts = afterDT.Subtract(beforDT);
Console.WriteLine("DateTime总共花费{0}ms.", ts.TotalMilliseconds);

3、直接解压目录

DateTime beforDT2 = System.DateTime.Now;
SevenZipExtractor sevenZipExtractor2 = new SevenZipExtractor("Downloads.7z");
sevenZipExtractor2.ExtractArchive("Downloads2");
DateTime afterDT2 = System.DateTime.Now;
TimeSpan ts2 = afterDT2.Subtract(beforDT2);
sevenZipExtractor2.Dispose();
Console.WriteLine("DateTime总共花费{0}ms.", ts2.TotalMilliseconds);

第2和3种方式耗费时间相似,比较短,第一类耗时相当长。

Console.WriteLine("DateTime总共花费...........");
Console.WriteLine("DateTime总共花费t1 {0}ms.", ts1.TotalMilliseconds);
Console.WriteLine("DateTime总共花费t0 {0}ms.", ts.TotalMilliseconds);
Console.WriteLine("DateTime总共花费t2 {0}ms.", ts2.TotalMilliseconds);

输出结果中:

t1 49986.8883ms

t0 5974.8105ms

t2 6208.8108ms

时间: 2024-10-13 12:05:09

调用SevenZipSharp解压文件的相关文章

U3D调用7z解压文件

using UnityEngine; using System; using System.IO; using System.Diagnostics; public class Test : MonoBehaviour { //7z程序的程序目录 private string _7zExeUrl ; void Start() { _7zExeUrl = Application.dataPath + "/StreamingAssets/7z.exe"; DecompressFileToD

c# 解压文件

public bool UnRAR(string destPath, string rarfilePath) { try { // destPath = @"E:\youxiaodi\temp"; //目标位置 // rarfilePath = @"E:\youxiaodi\temp\gif.rar"; //被解压文件 //组合出需要shell的完整格式 string shellArguments = string.Format("x -o+ \"

【转】用ZipArchive在App里压缩、解压文件

在这篇教程里,我将演示如何在iOS应用内压缩和解压文件.我们会使用到一个叫做ZipArchive的第三方库来实现这一功能.虽然还有其他压缩和解压文件的方案,但我感觉ZipArchive是最快和最易使用的. 为什么我需要解压文件? 这个问题很好.有很多理由可以用来解释为什么你的应用需要支持压缩和解压文件,这是其中一些: 苹果的50M下载限制 苹果强制要求通过3G网络下载的应用大小不能超过50M,绕过这个限制的方法是尽量让你的二进制包足够小,然后在应用里下载需要的资源,当然最好的方式是先把资源打包成

遍历文件夹及其子文件夹下的.pdf文件,并解压文件夹下所有的压缩包

List<PDFPATH> pdfpath = new List<PDFPATH>(); List<string> ziplist = new List<string>(); public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { FolderBrowserDialog dialog = new FolderBrows

linux下tar.bz2的解压文件命令

原文参考于:http://blog.csdn.net/zeng622peng/article/details/6837382 linux下怎么解后缀名是gzip的文件? 1.以.a为扩展名的文件: #tar xv file.a 2.以.z为扩展名的文件: #uncompress file.Z 3.以.gz为扩展名的文件: #gunzip file.gz 4.以.bz2为扩展名的文件: #bunzip2 file.bz2 5.以.tar.Z为扩展名的文件: #tar xvZf file.tar.Z

Linux tar (打包.压缩.解压缩)命令说明 | tar如何解压文件到指定的目录?

打包举例:将 /usr/local/src/zlib-1.2.5目录下的文件打包成 zlib-1.2.5.tar.gz cd /usr/local/src tar -czvf ./zlib-1.2.5.tar.gz ./zlib-1.2.5/* # 压缩到制定目录下(如:/root/2/ ) tar -czvf /root/2/zlib-1.2.5.tar.gz ./zlib-1.2.5/* #压缩 tar  -czvf   ***.tar.gz tar  -cjvf   ***.tar.bz2

绕过密码解压文件 Advanced Rar Repair1.2汉化版

下载地址:http://url.cn/FSsxhz. Advanced RAR Repair 是一个强大的修复加密或损坏的RAR压缩文档的工具,它能瞬间去除winrar加密压缩文档的密码,不管你设置 的密码有几位,或者密码的组合方式有多复杂(甚至连中文密码)都能够轻松去除! 此外,它还能修复一些损坏了的RAR压缩文件呢! Advanced RAR Repair 使用高级技术扫描被损坏的 RAR 压缩文档,并尽最大可能恢复你的文件,使你能够最大程度的减少忘记压缩 密码或文件受损后所带来的损失. 关

Java 解压文件

需要 import org.apache.tools.zip.ZipEntry; import org.apache.tools.zip.ZipFile; 对文件进行解压操作 ant.jar 的 下载地址 http://download.csdn.net/detail/qq490691606/7935909 maven中的配置 <dependency> <groupId>com.sun</groupId> <artifactId>tools</arti

通过SharpZipLib来压缩解压文件

在项目开发中,一些比较常用的功能就是压缩解压文件了,其实类似的方法有许多 ,现将通过第三方类库SharpZipLib来压缩解压文件的方法介绍如下,主要目的是方便以后自己阅读,当然可以帮到有需要的朋友更好了,代码比较简单. public class ZipAndUnzipFileBySharpZipLib    {        /// <summary>        /// 解压文件        /// </summary>        /// <param name=