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, , byData.Length);
line = System.Text.Encoding.Default.GetString(byData); //纯英文读取
//line = System.Text.Encoding.UTF8.GetString(byData); //含中文读取
st.Close();
}
}
}
return line;
}
PCB 无需解压,直接读取Zip压缩包指定文件 实现方法的更多相关文章
- PCB 无需解压,直接读取Genesis TGZ指定文件 实现方法
通过无需解压读取ZIP压缩包的方法,寻思者如何可以不解压直接读Genesis TGZ文件内容, 通过查找资料,原来可以通过:SharpCompress.dll工具实现此需求,此工具如此NB 一.Sha ...
- python一次性解压多层嵌套zip压缩包
zip包里的结构不是固定的,有可能只需要解压一次就完成了,有可能解压后里面还存在zip文件,需要继续进行解压缩 写了个简单的递归函数来实现解压非固定结构zip包,若解压后的zip子目录下仍含有zip文 ...
- Java解压上传zip或rar文件,并解压遍历文件中的html的路径
1.本文只提供了一个功能的代码 public String addFreeMarker() throws Exception { HttpSession session = request.getSe ...
- centos6.5解压及压缩zip压缩包
查看zip压缩文件的内容而不解压:unzip -l filename.zip 将zip包解压到指定路径(若不指定路径则为当前目录):unzip filename.zip -d /usr/file 压缩 ...
- 解压tar包中的指定文件
解压<a 'tar');"="" href="http://asmboy001.blog.51cto.com/'#\'"" targe ...
- linux中tar命令(打包、压缩、解压)、zip和unzip、rar多种压缩文件
一.名词解释 打包:将一大堆文件或目录变成一个总的文件[tar命令] 压缩:将一个大的文件通过一些压缩算法变成一个小文件[gzip,bzip2等] Linux中很多压缩程序只能针对一个文件进行压缩,这 ...
- python-----自动解压并删除zip文件
如何自动解压并删除zip? 如何解压 → 使用内置模块来实现(shutil.unpack_archive) 如何删除zip → 使用内置模块os来实现(os.remove) 如何监测zip的出 ...
- C#压缩或解压(rar和zip文件)
/// <summary> /// 解压RAR和ZIP文件(需存在Winrar.exe(只要自己电脑上可以解压或压缩文件就存在Winrar.exe)) /// </summary&g ...
- MySQL-5.6.13解压版(zip版)安装配置教程
来源:http://www.splaybow.com/post/mysql-5-6-13-zip-install.html [下载MySQL 5.6.13] 从MySQL官方网站mysql.com找到 ...
随机推荐
- 【Linq】标准查询操作符
A.1 聚合 聚合操作符(见表A-1),所有的结果只有一个值而不是一个序列. Average 和 Sum 针对数值 (任何内置数值类型)序列或使用委托从元素值转换为内置数值类型的元素序列. Min 和 ...
- 如何在redhat 7上安装VNC服务器
平时我们基本上都是用xshell或者用putty远程我们的linux服务器,如果我们的linux服务器安装了图型化界面那我们又该如何远程使用我们的图形化界面呢?下面我们用vnc来实现远程我们的linu ...
- 使用PHP操作MongoDB数据库
1.连接MongoDB数据库(在已安装php-mongodb扩展的前提下) $config = "mongodb://{$user}:{$pass}@{$host}:{$port}" ...
- CTF实战(隐写术):欢迎来到地狱
前言:请登录实验吧开启刷题模式,拿到的flag返回该网站验证正确性. 下载“欢迎来到地狱”CTF题目(总共三个文件
- Flask - WTF和WTForms创建表单
目录 Flask - WTF和WTForms创建表单 一. Flask-WTF 1.创建基础表单 2.CSRF保护 3.验证表单 4.文件上传 5.验证码 二. WTForms 1. field字段 ...
- angular的又一本好书
MANNING出的<ANGULAR.JS IN ACTION>. 比上本看完的书<ANGULAR ESSENTIAL>多了一些有全局性的东东. 八个关键概念:MODULE,CO ...
- hdu_2925_Musical Chairs_201311121643
Musical Chairs Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T ...
- cogs 167. [USACO Mar07] 月度花费
167. [USACO Mar07] 月度花费 ★★ 输入文件:expense.in 输出文件:expense.out 简单对比时间限制:1 s 内存限制:128 MB Farmer ...
- spring历史背景
1.2004年spring出现第一版本spring frameworl1.0 2.写代码永远是最简单的,后续的运维工作才是让人感到无助的 3.spring boot在运维方面做了很多工作,部署,监控, ...
- [Cypress] Test Variations of a Feature in Cypress with a data-driven Test
Many applications have features that can be used with slight variations. Instead of maintaining mult ...