时间:2021-05-20
过程说明都在注释里,我们直接来看代码:
压缩:
string rarFile=@"C:\Program Files\WinRAR\WinRAR.exe";//winrar之所在的路径,这里找执行文件所在文件夹和"C:\Program Files\WinRAR\WinRAR.exe
#region RAR压缩文件(支持路径中含有空格) /// <summary> /// 压缩到.rar /// </summary> /// <param name="intputPath">输入目录</param> /// <param name="outputPath">输出目录</param> /// <param name="outputFileName">输出文件名</param> public static void CompressRar(string intputPath, string outputPath, string outputFileName) { //rar 执行时的命令、参数 string rarCmd; //启动进程的参数 ProcessStartInfo processStartInfo; //进程对象 Process process; //命令参数 rarCmd = " a " + outputFileName + " " + intputPath + " -r -ep1"; //rar路径 string rarFile = System.Windows.Forms.Application.StartupPath + @"\rar.exe"; if (outputPath.IndexOf(' ') > 0 || intputPath.IndexOf(' ') > 0) { rarCmd = " a " + outputFileName + " \"" + intputPath + "\" -r -ep1"; } if (!File.Exists(System.Windows.Forms.Application.StartupPath + @"\rar.exe")) { rarFile=@"C:\Program Files\WinRAR\WinRAR.exe"; } try { //判断输入目录是否存在 if (!Directory.Exists(intputPath)) { throw new ArgumentException("CompressRar'arge : inputPath isn't exsit."); } //创建启动进程的参数 processStartInfo = new ProcessStartInfo(); //指定启动文件名 processStartInfo.FileName = @"C:\Program Files\WinRAR\WinRAR.exe"; //指定启动该文件时的命令、参数 processStartInfo.Arguments = rarCmd; //指定启动窗口模式:隐藏 processStartInfo.WindowStyle = ProcessWindowStyle.Hidden; //指定压缩后到达路径 processStartInfo.WorkingDirectory = outputPath; //创建进程对象 process = new Process(); //指定进程对象启动信息对象 process.StartInfo = processStartInfo; //启动进程 process.Start(); //指定进程自行退行为止 process.WaitForExit(); } catch (Exception ex) { throw ex; } } #endregion #region RAR解压文件(支持路径中含有空格) /// <summary> /// 解压文件 /// </summary> /// <param name="outputPath">解压到的路径</param> /// <param name="inputPath">压缩包所在路径(解压路径需存在)</param> /// <param name="inputFileName">压缩包名</param> /// <returns></returns> public static void DecompressRar(string outputPath, string inputPath, string inputFileName) { //rar 执行时的命令、参数 string rarCmd; //启动进程的参数 ProcessStartInfo processStartInfo; //进程对象 Process process; //rar路径 string rarFile =System.Windows.Forms.Application.StartupPath + @"\rar.exe" ; //命令参数 rarCmd = " e " + inputFileName + " " + outputPath + " -r -ep1"; if (outputPath.IndexOf(' ') > 0 || inputPath.IndexOf(' ') > 0) { rarCmd = "x -inul -y -o+ -ep1 \"" + inputPath + "\\" + inputFileName + "\" \"" + outputPath+"\""; } if (!File.Exists(System.Windows.Forms.Application.StartupPath + @"\rar.exe")) { rarFile=@"C:\Program Files\WinRAR\WinRAR.exe"; } try { //创建启动进程的参数 processStartInfo = new ProcessStartInfo(); //指定启动文件名 processStartInfo.FileName = rarFile; //指定启动该文件时的命令、参数 processStartInfo.Arguments = rarCmd; //指定启动窗口模式:隐藏 processStartInfo.WindowStyle = ProcessWindowStyle.Hidden; //指定解压后到达路径(文件夹需要存在) processStartInfo.WorkingDirectory = inputPath; //创建进程对象 process = new Process(); //指定进程对象启动信息对象 process.StartInfo = processStartInfo; //启动进程 process.Start(); //指定进程自行退行为止 process.WaitForExit(); //释放资源 process.Close(); } catch (Exception ex) { throw ex; } } #endregion}解压:
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了C#实现的文件压缩和解压缩类。分享给大家供大家参考。具体分析如下:这个C#代码包含了几个类,封装了文件压缩和解压缩常用的方法,包括直接通过代码进行
1.命令简介gzip(GNUzip)命令用来压缩和解压缩文件,是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,采用LZ77无损压缩算法,压缩后的
本文实例讲述了C#实现压缩和解压缩的方法。分享给大家供大家参考,具体如下:使用ICSharpCode.SharpZipLib.dll来压缩/解压(压缩效率比GZ
本文实例讲述了C#文件流进行压缩和解压缩的方法。分享给大家供大家参考。具体实现方法如下:usingSystem;usingSystem.Collections.
有时我们需要在线解压缩文件,本文就介绍了使用7za程序和gzip进行在线解压缩文件的方法。由于winrar的ming令行工具不支持zip格式的文件,所以我选择了