当前位置:  编程技术>.net/c#/asp.net

C# 压缩与解压缩RAR文件的代码

    来源: 互联网  发布时间:2014-08-30

    本文导语:  关于rar的参数,请参考:rar参数详解 这篇文章。 代码示例: ///压缩与解压缩RAR文件 using System; using System.Collections.Generic; using System.Text; using System.IO; using Microsoft.Win32; using System.Diagnostics; namespace Uni.UniCustoms {     public class...

关于rar的参数,请参考:rar参数详解 这篇文章。

代码示例:

///压缩与解压缩RAR文件
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using Microsoft.Win32;
using System.Diagnostics;

namespace Uni.UniCustoms
{
    public class clsWinrar
    {
        ///
        /// 是否安装了Winrar
        ///
        ///
        static public bool Exists()
        {
            RegistryKey the_Reg =
                Registry.LocalMachine.OpenSubKey(
                    @"SOFTWAREMicrosoftWindowsCurrentVersionApp PathsWinRAR.exe");

            return !string.IsNullOrEmpty(the_Reg.GetValue("").ToString());

       }

       ///
       /// 打包成Rar
       ///
       ///
       ///
       ///
       public void CompressRAR(string patch, string rarPatch, string rarName)
        {
            string the_rar;
            RegistryKey the_Reg;
            object the_Obj;
            string the_Info;
            ProcessStartInfo the_StartInfo;
            Process the_Process;
            try
            {
                the_Reg =
                    Registry.LocalMachine.OpenSubKey(
                         @"SOFTWAREMicrosoftWindowsCurrentVersionApp PathsWinRAR.exe");

                the_Obj = the_Reg.GetValue("");
                the_rar = the_Obj.ToString();
                the_Reg.Close();
                the_rar = the_rar.Substring(1, the_rar.Length - 7);
                Directory.CreateDirectory(patch);
                //命令参数
                //the_Info = " a    " + rarName + " " + @"C:Test?70821.txt"; //文件压缩
                the_Info = " a    " + rarName + " " + patch + " -r"; ;
                the_StartInfo = new ProcessStartInfo();
                the_StartInfo.FileName = the_rar;
                the_StartInfo.Arguments = the_Info;
                the_StartInfo.WindowStyle = ProcessWindowStyle.Hidden;

                //打包文件存放目录
                the_StartInfo.WorkingDirectory = rarPatch;
                the_Process = new Process();
                the_Process.StartInfo = the_StartInfo;
                the_Process.Start();
                the_Process.WaitForExit();
                the_Process.Close();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        ///
        /// 解压
        ///
        ///
        ///
        ///
        ///

        public string unCompressRAR(string unRarPatch, string rarPatch, string rarName)
        {
            string the_rar;
            RegistryKey the_Reg;
            object the_Obj;
            string the_Info;
            try
            {
                the_Reg =
                    Registry.LocalMachine.OpenSubKey(
                         @"SOFTWAREMicrosoftWindowsCurrentVersionApp PathsWinRAR.exe");

                the_Obj = the_Reg.GetValue("");
                the_rar = the_Obj.ToString();
                the_Reg.Close();
                //the_rar = the_rar.Substring(1, the_rar.Length - 7);

                if (Directory.Exists(unRarPatch) == false)
                {
                    Directory.CreateDirectory(unRarPatch);
                }
                the_Info = "x " + rarName + " " + unRarPatch + " -y";
                ProcessStartInfo the_StartInfo = new ProcessStartInfo();
                the_StartInfo.FileName = the_rar;
                the_StartInfo.Arguments = the_Info;
                the_StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
                the_StartInfo.WorkingDirectory = rarPatch;//获取压缩包路径

                Process the_Process = new Process();
                the_Process.StartInfo = the_StartInfo;
                the_Process.Start();
                the_Process.WaitForExit();
                the_Process.Close();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return unRarPatch;
        }
    }
}


    
 
 

您可能感兴趣的文章:

  • C#实现GZip压缩和解压缩入门实例
  • C#实现压缩HTML代码的方法
  • c#压缩数据传输的代码一例
  • C#使用晚绑定来实现压缩Access数据库的方法
  • C# 实现文件的压缩与解压缩的代码
  • c#实现metro文件压缩解压示例
  • c# 解压缩文件(.jar与.zip)的代码
  • c# 解压缩文件的实现方法与代码
  • C#使用iCSharpcode进行文件压缩实现方法
  • c#中CLR函数压缩(Gzip)ntext类型字段的实现代码
  • c# 网址压缩简单实现短网址
  • c#调用winrar解压缩文件代码分享
  • c# 解压缩目录中的所有zip文件的代码
  • C#图片压缩的实现方法
  • C#进行图片压缩的代码
  • C#中关于zip压缩解压帮助类的封装 附源码下载
  • C#实现对图片文件的压缩、裁剪操作实例
  • c# 图片压缩工具的实现代码(图文)
  • 急求,h.264压缩、解压缩源代码................100分不够还给!
  • php在线压缩与解压缩SWF文件的代码(修正版)
  • php 压缩多个CSS文件的实现代码
  • ASP.NET实现压缩和解压缩的代码
  • 求linux下mpeg压缩的源代码或者库?
  • php实现zip压缩文件解压缩代码分享(简单易懂)
  • 求救:为何我在windows下解压缩Linux内核源代码时会有重复文件?
  • 谁能提供一下在linux下用c语言编的mp3压缩解压代码,要速度比较快的,给100分
  • MS SQL SERVER 数据库日志压缩方法与代码
  • asp.net文件压缩和解压缩的代码示例
  • PHP压缩CSS文件示例代码
  • PHP压缩html的函数代码
  • Linux oracle数据库自动备份自动压缩脚本代码
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux/centos/redhat下各种压缩解压缩方式详解
  • 请教如何在Java中使用arj压缩的文件(压缩和解压缩)Linux下面
  • Apache如何启用gzip压缩
  • 压缩/解压缩软件 7-Zip
  • 压缩和解压缩 WinAce
  • 高速压缩解压缩开发包 Snappy
  • JS的ZIP压缩和解压缩工具 Zip.js
  • 压缩解压缩工具包 XZ Utils
  • 压缩/解压缩工具 p7zip
  • CSS 压缩和解压缩的工具 csCSSc
  • Linux下能压缩.zip 或 .rar 的压缩文件吗?
  • 请教有什么zip压缩库可以压缩文件夹?
  • 文件压缩/解压缩包 Commons Compress
  • 各位哥哥姐姐:如何zip压缩算法来压缩SKB里面的数据部分
  • 怎样解压缩.zip的压缩文件!!
  • [压缩技术]zlib是如何通过参数来调整压缩比和速度?
  • zip在压缩文件的时候,可以把文件的权限也压缩进去吗?
  • zlib的压缩和解压缩包 JZlib
  • 求助!如何在没有图形界面的LINUX下压缩文件夹,并将这个压缩文件在windows下解压?
  • 想在linux下用C实现gzip压缩与解压缩,有没有相关库函数可以调用?
  • 在linux上用tar压缩一个文件后到windows上解压缩出现乱码


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3