手机
当前位置:查字典教程网 >编程开发 >C#教程 >c#解压文件的实例方法
c#解压文件的实例方法
摘要:复制代码代码如下:#region解压文件zip格式rar格式//////解压文件//////解压前的文件路径(绝对路径)///解压后的文件目...

复制代码 代码如下:

#region 解压 文件 zip 格式 rar 格式

/// <summary>

///解压文件

/// </summary>

/// <param name="fileFromUnZip">解压前的文件路径(绝对路径)</param>

/// <param name="fileToUnZip">解压后的文件目录(绝对路径)</param>

public static void UnpackFile(string fileFromUnZip, string fileToUnZip)

{

//获取压缩类型

string unType = fileFromUnZip.Substring(fileFromUnZip.LastIndexOf(".") + 1, 3).ToLower();

switch (unType)

{

case "rar":

UnRar(fileFromUnZip, fileToUnZip);

break;

case "zip":

UnZip(fileFromUnZip, fileToUnZip);

break;

}

}

//解压rar格式的文件

private static void UnRar(string fileFromUnZip, string fileToUnZip)

{

using (Process Process1 = new Process())// 开启一个进程 执行解压工作

{

string ServerDir = ConfigurationManager.AppSettings["UnpackFile"].ToString();//rar工具的安装路径 必须要安装 WinRAR //例于:C:Program Files (x86)WinRARRAR.exe

Process1.StartInfo.UseShellExecute = false;

Process1.StartInfo.RedirectStandardInput = true;

Process1.StartInfo.RedirectStandardOutput = true;

Process1.StartInfo.RedirectStandardError = true;

Process1.StartInfo.CreateNoWindow = true;

Process1.StartInfo.FileName = ServerDir;

Process1.StartInfo.Arguments = " x -inul -y " + fileFromUnZip + " " + fileToUnZip;

Process1.Start();//解压开始

Process1.WaitForExit();

Process1.Close();

}

}

// 解压zip 文件

public static void UnZip(string fileFromUnZip, string fileToUnZip)

{

ZipInputStream inputStream = new ZipInputStream(File.OpenRead(fileFromUnZip));

ZipEntry theEntry;

while ((theEntry = inputStream.GetNextEntry()) != null)

{

fileToUnZip += "/";

string fileName = Path.GetFileName(theEntry.Name);

string path = Path.GetDirectoryName(fileToUnZip) + "/";

// Directory.CreateDirectory(path);//生成解压目录

if (fileName != String.Empty)

{

FileStream streamWriter = File.Create(path + fileName);//解压文件到指定的目录

int size = 2048;

byte[] data = new byte[2048];

while (true)

{

size = inputStream.Read(data, 0, data.Length);

if (size > 0)

{

streamWriter.Write(data, 0, size);

}

else

{

break;

}

}

streamWriter.Close();

}

}

inputStream.Close();

}

#endregion

【c#解压文件的实例方法】相关文章:

C#简单的加密类实例

C# 实现简单打印的实例代码

C# String Replace高效的实例方法

c#使用linq技术创建xml文件的小例子

C# WinForm中Panel实现用鼠标操作滚动条的实例方法

C# 抓取网页内容的方法

C# 语音功能的实现方法

C# 泛型类(函数)的实例化小例子

c#简单读取文本的实例方法

c# 调用.bat文件的实现代码

精品推荐
分类导航