C#文件操作集合七(文件压缩相关)
创始人
2024-05-10 18:13:45
0

前言

        文件操作是开发过程中经常遇到的,如何创建文件、处理文件、保存文件以及读取文件这些工作是每一位开发都必须经历的。

这里围绕C#文件操作内容,我做了一次系统的梳理,主要包括以下几个模块:

1、文件内容操作:文件读写相关

2、文件检测

3、文件及目录创建和删除

4、文件移动

5、文件加密、解密

6、文件上传、下载

7、文件压缩相关

8、文件操作权限相关


一、小节摘要

本小节实例主要讲述C#实现使用系统WinRar进行压缩和解压缩的方法,详细内容如下:

1、压缩方法

2、解压缩方法

二、详细内容

1、压缩方法

/// 
/// 压缩
/// 
/// 要压缩文件路径
/// 要压缩的文件名
/// 压缩的文件路径
public static void EnZip(string path, string rarName, string rarPath)
{//   bool flag = false;try{the_Reg = Registry.ClassesRoot.OpenSubKey(@"Applications\WinRAR.exe\Shell\Open\Command");the_Obj = the_Reg.GetValue("");the_rar = the_Obj.ToString();the_Reg.Close();the_rar = the_rar.Substring(1, the_rar.Length - 7);the_Info = " a   " + rarPath + "  " + path;the_StartInfo = new ProcessStartInfo();the_StartInfo.FileName = the_rar;the_StartInfo.Arguments = the_Info;the_StartInfo.WindowStyle = ProcessWindowStyle.Hidden;//打包文件存放目录the_StartInfo.WorkingDirectory = rarName;the_Process = new Process();the_Process.StartInfo = the_StartInfo;the_Process.Start();the_Process.WaitForExit();the_Process.Close();}catch (Exception ex){throw new Exception(ex.Message);}
}

压缩参数命令参数如下:
1
压缩即文件夹及其下文件
//the_Info = " a    " + rarName + "  " + path + "  -r";              
2
压缩即文件夹及其下文件 设置压缩方式为 .zip
//the_Info = " a -afzip  " + rarName + "  " + path;  
3
压缩文件夹及其下文件 直接设定为free.zip
//the_Info = " a -r  " + rarName + "  " + path;
4
搬迁压缩即文件夹及其下文件原文件将不存在
//the_Info = " m  " + rarName + "  " + path;
5
压缩即文件  直接设定为free.zip 只有文件 而没有文件夹
//the_Info = " a -ep  " + rarName + "  " + path;
6
加密压缩即文件夹及其下文件 密码为123456 注意参数间不要空格
//the_Info = " a -p123456  " + rarName + "  " + path;

2、解压缩方法 

/// 
/// 解压缩
/// 
/// 要解压的文件名
/// 要解压的文件路径
public static void DeZip(string zipname, string zippath)
{try{the_Reg = Registry.ClassesRoot.OpenSubKey(@"Applications\WinRar.exe\Shell\Open\Command");the_Obj = the_Reg.GetValue("");the_rar = the_Obj.ToString();the_Reg.Close();the_rar = the_rar.Substring(1, the_rar.Length - 7);the_Info = " X " + zipname + " " + zippath;the_StartInfo = new ProcessStartInfo();the_StartInfo.FileName = the_rar;the_StartInfo.Arguments = the_Info;the_StartInfo.WindowStyle = ProcessWindowStyle.Hidden;the_Process = new Process();the_Process.StartInfo = the_StartInfo;the_Process.Start();the_Process.WaitForExit();the_Process.Close();}catch (Exception ex){throw new Exception(ex.Message);}
}

3、变量相关 

#region 私有变量
static String the_rar; //WinRAR.exe 的完整路径 
static RegistryKey the_Reg; //注册表键 
static Object the_Obj; //键值 
static String the_Info;  //cmd命令值
static ProcessStartInfo the_StartInfo;
static Process the_Process;
#endregion//64位系统
//此时会提示:未将对象引用设置为对象的实例 
//解决办法:修改注册表,添加如下项:
//HKEY_CLASSES_ROOT\Applications\WinRAR.exe\Shell\Open\Command 
//值为:"C:\Program Files (x86)\WinRAR\WinRAR.exe" "%1"#region 调用外部RAR解压缩
private static string rarRegPath = @"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinRAR.exe";

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...