zoukankan      html  css  js  c++  java
  • PCB 无需解压,直接读取Zip压缩包指定文件 实现方法

    最近有一项需求,将电测试点数后台批量写入到工程系统流程指示中,而电测试文件存在压缩包中,压缩包存在公共网络盘

    示例图:

    一.采用原始方法(4步完成):

    第1步:.网络盘ZIP拷到本地,

    第2步:解压ZIP到文件夹

    第3步:读取文件夹内容并处理

    第4步:删除文件夹与ZIP

    二.采用新的方法:(1步完成)

    第1步:.读取ZIP内容并处理

    小结:没有对比就没有伤害,简直完美秒杀以前的作法,应用用于当我们只需读取一个ZIP压缩包中指定文件时,可以采用此方法实现。

    三.如何实现呢?

    引用2个文件,需.net4.5才支持(在巨人的肩膀太给力了,感谢微软)

    System.IO.Compression.FileSystem.dll

    System.IO.Compression.dll

     代码示例:

            private string readZip()
            {
                string line = "";
                string file = @"F:4V2TT0B1A0.zip";
                using (ZipArchive archive = ZipFile.OpenRead(file))
                {
                    foreach (ZipArchiveEntry entry in archive.Entries)
                    {
                        if (entry.FullName.EndsWith("profile.cmb"))
                        {
                            Stream st = entry.Open();
                            byte[] byData = new byte[entry.Length];
                            st.Read(byData, 0, byData.Length);
                            line = System.Text.Encoding.Default.GetString(byData);  //纯英文读取
                            //line = System.Text.Encoding.UTF8.GetString(byData);     //含中文读取
                            st.Close();
                        }
                    }
                }
                return line;
            }
  • 相关阅读:
    CentOS 7 安装 MariaDB
    yum工具使用 -- 配置自定义yum源
    CentOS 7 安装 redis
    CentOS 7 安装Python3 + 虚拟环境 + django
    Linux 安装 Python3.6.5
    CentOS 7 安装Python3 虚拟环境
    oracle数据库分页原理
    POI工具类
    IoDH单例模式
    为什么使用单例模式【转】
  • 原文地址:https://www.cnblogs.com/pcbren/p/9362209.html
Copyright © 2011-2022 走看看