最近遇到一个需求,需要将超大文件中的帧头解析出来,并将帧头和数据部分分别存在文件中
整体思路如下:
1、读取待处理路径,根据命名规则筛选出需要处理的文件
2、判断输出路径是否存在,不存在,则新建
3、开始读取文件,将文件分块处理(根据信息长度分块)(此步骤相当重要,能够大幅提高运行效率)
4、在块内再对每个帧进行处理
5、为了加快速度,使用多线程(每个文件一个线程),Task进行处理
6、退出线程,异常处理(推出task尽量不要使用cancel),可以使用一个标志位,推出所有循环。
这样做的好处是可以很简单的继续进行下一次任务!
优化:
后期也可以进行优化,比如边读边写,或者是在将文件分为帧头和信息两部分后,也可以启动线程,进行异步处理。
标签:文件,读取,分块,C#,处理,线程,操作 From: https://www.cnblogs.com/3CP3/p/16579784.html