首页 > 编程语言 >C# 文件操作

C# 文件操作

时间:2022-08-15 09:49:05浏览次数:52  
标签:文件 读取 分块 C# 处理 线程 操作

最近遇到一个需求,需要将超大文件中的帧头解析出来,并将帧头和数据部分分别存在文件中

整体思路如下:

1、读取待处理路径,根据命名规则筛选出需要处理的文件

2、判断输出路径是否存在,不存在,则新建

3、开始读取文件,将文件分块处理(根据信息长度分块)(此步骤相当重要,能够大幅提高运行效率)

4、在块内再对每个帧进行处理

5、为了加快速度,使用多线程(每个文件一个线程),Task进行处理

6、退出线程,异常处理(推出task尽量不要使用cancel),可以使用一个标志位,推出所有循环。

这样做的好处是可以很简单的继续进行下一次任务!

优化:

后期也可以进行优化,比如边读边写,或者是在将文件分为帧头和信息两部分后,也可以启动线程,进行异步处理。

 

标签:文件,读取,分块,C#,处理,线程,操作
From: https://www.cnblogs.com/3CP3/p/16579784.html

相关文章

  • Docker-Desktop在Ubuntu系统中的安装问题
    Docker-Desktop在Linux系统中的安装包为DEB包.deb安装包正常情况下无法直接通过UbuntuSoftware进行安装,需要安装相应的插件/支持。当然也可以通过命令行进行安装,如:su......
  • com.google.common.collect.Table 双键的Map
    com.google.common.collect.Table存放的数据,以2个键(rowKey+columnKey)一个值的形式,提供了以下方法:cellSet()rowKeySet()columnKeySet()values()以下是以学生课程实例......
  • ExtJS - Sencha Fiddle
    更新记录转载请注明出处:https://www.cnblogs.com/cqpanda/p/16587154.html2022年8月15日发布。2022年8月13日从笔记迁移到博客。ExtJS教程汇总:https://www.cnblog......
  • Docker命令速查
    Docker命令显示所有正在运行的docker容器dockerps显示所有docker容器dockerps-a运行容器dockerrun:运行一个容器并连接到它dockerrun-it:在后台运行容器......
  • 案例-文件下载
    案例-文件下载文件下载需求页面显示超链接点击超链接弹出下载提示框完成图片文件下载   分析超连接指向的资源如果能够被浏览器解析则在浏览器中展示,如果......
  • 元素JS增删改查类名,报错TypeError: Cannot set properties of null (setting 'classNa
    在写原生js吸顶效果的时候,使用search.className="ceiling",添加类名,报以下错误。但效果可以正常执行    查阅文档,发现是可以存在空格就执行了这句代码search.c......
  • django的csrf跨站请求伪造
    1.什么是跨站请求伪造请看图:我们自行写了一个网站模仿中国银行,用户不知道是否是真的中国银行,并且提交了转账信息,生成一个form表单,向银行服务器发送转账请求,这个form表单......
  • 百度OCR 申请流程
    1.打开官网  https://ai.baidu.com/tech/ocr   2.登陆帐号3.创建应用             这就创建成功了   4.领取百度免费送的资......
  • 文件中有多个商品id,会重复,取出现最多的10个
    多线程读取文件,map或list存储出现次数,并创建对象封装,最小根堆找出前10个商品publicclassDemo{privatestaticfinalStringregex=",";publicstaticv......
  • redis 和docker等名词了解
    redisredis产生redis是MySQL数据库经常直接面对大量的读写访问,面对比较复杂的数据据操作,会导致数据库I/O反映缓慢或者奔溃;有人研究学习CPU从内寸直接读取数据,把MYSQL经......