志在指尖
用双手敲打未来

C#调用7z完成文件的紧缩与解压

1.关于7z
首要在这里先介绍一下7z紧缩软件,7z是一种干流的紧缩格局,它具有极高的紧缩比。在计算机科学中,7z是一种可以运用多种紧缩算法进行数据紧缩的档案格局。主要有以下特色:
来源且模块化的组件结构
最高的紧缩比
强壮的AES-256加密
可更改装备的紧缩算法
支撑操大文件
支撑多线程紧缩
具有多种紧缩文件格局c#
2.解紧缩完成代码
完成对文件的解紧缩方法是经过cmd指令,调用7z程式经过cmd指令完成对文件进行解压和紧缩的操作,具体完成代码如下:
紧缩代码
紧缩的cmd指令:”7Za-tzip”+zipPath+””+filePath;
publicExecutionResultCompressFile(stringfilePath,stringzipPath)//运转DOS指令{
ExecutionResultexeRes=newExecutionResult();
exeRes.Status=true;try{
Processprocess=newProcess();
process.StartInfo.FileName=”cmd.exe”;stringmessage=””;stringcommand1=”c:”;stringcommand2=@”cd\”;stringcommand3=@”cdC:\Progra~1\7-Zip”;stringcommand4=””;
command4=”7Za-tzip”+zipPath+””+filePath;
process.StartInfo.UseShellExecute=false;
process.StartInfo.RedirectStandardInput=true;
process.StartInfo.RedirectStandardOutput=true;
process.StartInfo.RedirectStandardError=true;
process.StartInfo.CreateNoWindow=true;
process.Start();
process.StandardInput.WriteLine(command1);
process.StandardInput.WriteLine(command2);
process.StandardInput.WriteLine(command3);
process.StandardInput.WriteLine(command4);
process.StandardInput.WriteLine(“exit”);
message=process.StandardOutput.ReadToEnd();//要等紧缩完成后才可以来抓取这个紧缩文件process.Close();if(!message.Contains(“EverythingisOk”))
{
exeRes.Status=false;
exeRes.Message=message;
}else{
exeRes.Anything=zipPath;
}
}catch(Exceptionex)
{
exeRes.Message=ex.Message;
}returnexeRes;
}
解压代码
解压的cmd指令:”7Zx-tzip”+zipPath+”-o”+filePath+”-y”;
publicExecutionResultDeCompressFile(stringzipPath,stringfilePath)//运转DOS指令{
ExecutionResultexeRes=newExecutionResult();
exeRes.Status=true;try{
Processprocess=newProcess();
process.StartInfo.FileName=”cmd.exe”;stringmessage=””;stringcommand1=”c:”;stringcommand2=@”cd\”;stringcommand3=@”cdC:\Progra~1\7-Zip”;stringcommand4=””;
command4=”7Zx-tzip”+zipPath+”-o”+filePath+”-y”;
process.StartInfo.UseShellExecute=false;
process.StartInfo.RedirectStandardInput=true;
process.StartInfo.RedirectStandardOutput=true;
process.StartInfo.RedirectStandardError=true;
process.StartInfo.CreateNoWindow=true;
process.Start();
process.StandardInput.WriteLine(command1);
process.StandardInput.WriteLine(command2);
process.StandardInput.WriteLine(command3);
process.StandardInput.WriteLine(command4);
process.StandardInput.WriteLine(“exit”);//process.WaitForExit();message=process.StandardOutput.ReadToEnd();//要等紧缩完成后才可以来抓取这个紧缩文件process.Close();if(!message.Contains(“EverythingisOk”))
{
exeRes.Status=false;
exeRes.Message=message;
}else{
exeRes.Anything=filePath;
}
}catch(Exceptionex)
{
exeRes.Message=ex.Message;
}returnexeRes;
}

未经允许不得转载:IT技术网站 » C#调用7z完成文件的紧缩与解压
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载