`

C# 如何读取rar压缩包里面的文件信息

    博客分类:
  • .net
 
阅读更多
private string RunCmd(string command)
        {
            //实例一个Process类,启动一个独立进程
            Process p = new Process();

            p.StartInfo.FileName = "cmd.exe";
            p.StartInfo.Arguments = "/c "+"\""+System.Windows.Forms.Application.StartupPath+"\\r ar.exe" +"\""+ command;    //设定程式执行参数
            p.StartInfo.UseShellExecute = false;        //关闭Shell的使用
            p.StartInfo.RedirectStandardInput = true;   //重定向标准输入
            p.StartInfo.RedirectStandardOutput = true;  //重定向标准输出
            p.StartInfo.RedirectStandardError = true;   //重定向错误输出
            p.StartInfo.CreateNoWindow = true;          //设置不显示窗口

            p.Start();   //启动
            string retstr=p.StandardOutput.ReadToEnd();
            p.WaitForExit();
            p.Close();
            return    retstr;    //从输出流取得命令执行结果
        }

/// <summary>
        /// 获得RAR信息
        /// </summary>
        /// <param name="rar_path">包文件路径</param>
        /// <returns></returns>
        private Hashtable CheckRar(string rar_path)
        {
            string strcmd1 = string.Format(" lb {0} ", rar_path);
            string outcmd_string1 = RunCmd(strcmd1).Replace("\r\n", "|");
            outcmd_string1 = outcmd_string1.Remove(outcmd_string1.LastIndexOf('|'));

            string strcmd2 = string.Format(" l {0} ", rar_path);
            string outcmd_string2 = RunCmd(strcmd2);

            string[] strfilenames = outcmd_string1.Split('|');
            int filecount = strfilenames.Length;
            string[] strfilesizes = new string[filecount];

            for (int i = 0; i < filecount; i++)
            {
                string filesize = outcmd_string2.Substring(outcmd_string2.IndexOf(strfilenames[i]) + strfilenames[i].Length).Trim();
                filesize = filesize.Substring(0, filesize.IndexOf(" "));
                strfilesizes[i] = filesize;
            }

            Hashtable ht_rar = new Hashtable();
            for (int i = 0; i < filecount; i++)
            {
                ht_rar.Add(strfilenames[i],strfilesizes[i]);
            }
return ht_rar;
        }
分享到:
评论

相关推荐

    C#编写RAR压缩包文件搜索器

    本项目“C#编写RAR压缩包文件搜索器”旨在教你如何利用C#实现一个功能强大的工具,它能帮助用户在多个RAR压缩包内快速找到特定的文件,并将其解压出来。这对于处理大量压缩文件,尤其是需要频繁查找特定文件的情况,...

    C#读取点云数据.rar

    点云数据是三维空间中大量离散点的集合,这些点描述了物体...总之,通过C#读取和处理点云数据涉及到文件I/O操作、数据解析以及可能的3D图形渲染。理解这些概念并熟练运用相关技术,对于开发基于点云的应用至关重要。

    C#读取thumbs.db数据源代码下载.rar

    【标题】:“C#读取thumbs.db数据源代码下载.rar”是一个压缩文件,其中包含了用C#编程语言编写的源代码,用于读取thumbs.db数据库文件。thumbs.db是Windows操作系统中用于存储缩略图预览的文件,主要在资源管理器中...

    C# RAR 文件压缩

    在.NET框架中,C#程序员可以使用不同的库来实现RAR文件的压缩操作。RAR是一种流行的压缩格式,由WinRAR软件支持。本篇文章将详细介绍如何在C#中进行RAR文件的压缩,以及涉及到的相关知识点。 首先,由于.NET ...

    C# WinForm 读取内嵌资源范例

    在提供的`WinAppReadResource`压缩包文件中,可能包含了实现上述过程的一个示例项目。这个项目展示了如何在C# WinForm 2.0应用中创建一个窗体,从内嵌资源中加载图片并显示在窗体上,或者读取文本资源并显示在文本框...

    C#源码 - 读取Excel文件 - ExcelRead.rar

    这个"C#源码 - 读取Excel文件 - ExcelRead.rar"压缩包提供了一个简单的实现,可以直接在你的项目中使用。只需解压并导入源码,根据需求调用封装好的方法,即可快速实现Excel文件的读取功能,大大提高了开发效率。...

    C#读取CAN数据

    在C#环境下,我们通常需要安装周立功公司提供的驱动和SDK(Software Development Kit),这些资源通常包含在像`c#例子(vs2005)forCanBox.rar`这样的压缩包中。 接下来,我们来分析C#读取CAN数据的基本步骤: 1. **...

    C#代码读取USB扫描枪信息.rar

    最后,这个名为"C#SaomiaoTest"的压缩包文件很可能包含了一个示例项目或源代码,你可以通过解压并运行该项目来进一步了解和学习如何实现这个功能。对于初学者来说,这是一个很好的实践项目,可以帮助理解C#如何与...

    批量解压并对文件重命名 C#

    在C#中,我们可以使用`System.IO.Compression.ZipFile`类,它包含了读取、写入和修改ZIP文件的方法。在开始编写代码之前,请确保引用了`System.IO.Compression`命名空间。 ```csharp using System.IO; using System...

    取压缩包中(RAR)全部文件名.rar

    每个RAR文件包含了一个或多个存档头部,每个头部包含了文件信息,包括文件名、大小、日期时间等元数据。 提取RAR文件中的所有文件名主要涉及到两个方面:一是使用命令行工具,二是使用编程语言库。以下是两种常见...

    matlab读取segy格式的文件.rar

    描述中的内容与标题一致,暗示了这个RAR压缩包可能包含MATLAB脚本或函数,用于解析和处理SEGY文件。文件"sgyread.m"和"segyread.m"很可能就是这些MATLAB代码,其中可能有一个是主读取函数,另一个可能是辅助或者扩展...

    C#中PDF文件转WORD文件.rar.rar

    总结起来,使用C#进行PDF到Word的转换涉及的关键知识点包括:iTextSharp库的使用来读取PDF,DocX库的使用来创建和编辑Word文件,以及文件流的管理和操作。在实际开发中,根据项目需求选择合适的库和策略,确保转换的...

    文件读取.rar文件读取.rar文件读取.rar

    读取RAR文件通常需要使用专门的解压工具,如WinRAR、7-Zip等。这些软件提供了图形用户界面,使得用户可以方便地浏览压缩包内的内容,选择性地解压文件或整个目录。 1. 使用WinRAR: - 打开WinRAR,点击“文件”...

    C#口令加密RAR完整源码(0520_).rar

    通过这个源码,开发者可以学习到如何在C#环境中创建一个安全的RAR压缩包,并为其实现密码保护。 首先,我们要了解C#中的加密机制。C#支持多种加密算法,如对称加密(如AES、DES、3DES)和非对称加密(如RSA、DSA)...

    详解C#压缩、解压文件夹/文件(带密码)

    它提供了一个全面的工具集,用于创建、读取和修改ZIP文件。其突出特点是可以创建具有密码保护的压缩文件。以下是一个使用DotNetZip库进行压缩的示例: ```csharp public static void CompressionFile(string ...

    使用C#读取csv文件的实例源码__(0521).rar

    在压缩包中的"使用C#读取csv文件的实例源码__(0521)"文件,很可能是包含了一个或多个这样的C#源代码示例,你可以通过解压并运行这些示例来学习和理解如何在实践中操作CSV文件。这将帮助你深入理解文件I/O操作,并且...

    c#编的记事本.rar

    标题 "c#编的记事本.rar" 暗示我们正在讨论一个使用C#编程语言开发的简单记事本程序。C#是Microsoft推出的一种面向对象的、现代的编程语言,广泛应用于Windows桌面应用、游戏开发、移动应用以及Web应用等。这个...

    记事本源代码(C#源代码).rar

    【标题】中的“记事本源代码(C#源代码).rar”表明这是一个使用C#编程语言编写的记事本程序的源代码集合,通常包含了一系列的.CS文件和其他支持文件,如资源文件、配置文件等。C#是Microsoft开发的一种面向对象的编程...

    C#通过TCP传输文件.rar_C#网口传输_tcp_tcp传输文件c#_文件传输_服务端与

    在给定的压缩包中,“文件传输客户端B”和“文件传输服务器B”应该是两个C#项目的源代码,分别实现了上述的客户端和服务端功能。你可以通过编译和运行这两个项目,来实践TCP文件传输的过程。 在实际应用中,为了...

    C#批量压缩文件为zip文件类库.rar

    "C#批量压缩文件为zip文件类库.rar"这个压缩包就提供了一个专门用于批量压缩文件到ZIP格式的类库。 在这个压缩包中,我们可以看到两个主要的文件: 1. **FileCompression.cs**:这是一个C#源代码文件,其中包含了...

Global site tag (gtag.js) - Google Analytics