现在的任务就是做一个大文件解析的桌面应用小程序,具体需求就是:将一个很大的文件里的数据按一定标志拆分然后分别保存到某个文件夹下面。

解析的文件内容为以下内容:

windows 应用小程序界面

具体代码主要分为两步:

 private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog op = new OpenFileDialog();//创建打开文件夹对话框对象
//op.ShowDialog(); //实现对话框展示
//op.Filter = "fasta文件|*.fasta";//设置文件后缀过滤
if (op.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
filePath = op.FileName; //获取所选文件的全路径
nowFilePath=filePath;
//TextBox1.Text = File.ReadAllText(filePath); //通过textbox1
}
}

第一个按钮主要是进行打开文件选择文件的操作;

 private void button2_Click(object sender, EventArgs e)
{
string totalContent = "";
int i = 1;
string directoryPath = @"D:/xyyFile3/";
if (!Directory.Exists(directoryPath))//如果路径不存在
{
Directory.CreateDirectory(directoryPath);//创建一个路径的文件夹
}
var reader = new StreamReader(nowFilePath);
var content = reader.ReadLine();//读一行
totalContent = content;
if(content.Substring(0, 1) ==">")//判断开头是否为>
{
content = reader.ReadLine();//是,继续读取一行
totalContent += content;
while (content.Substring(0, 1)!=">"&& content != null) {
content = reader.ReadLine();
if (content == null)
{
FileStream fs1 = new FileStream("D:\\xyyFile3\\" + i + ".txt", FileMode.Create, FileAccess.Write);//创建写入文件
StreamWriter sw = new StreamWriter(fs1);
//totalContent = totalContent.Replace(")", ")" + "\r\n");
sw.WriteLine(totalContent);
sw.Close();
fs1.Close();
break;
}
else { } while(content.Substring(0, 1) == ">")
{
// totalContent = content;
if (!File.Exists("D:\\xyyFile3"))
{
FileStream fs1 = new FileStream("D:\\xyyFile3\\" + i + ".txt", FileMode.Create, FileAccess.Write);//创建写入文件
StreamWriter sw = new StreamWriter(fs1);
//totalContent = totalContent.Replace(")", ")" + "\r\n");
sw.WriteLine(totalContent);
sw.Close();
fs1.Close();
}
else
{
FileStream fs = new FileStream("D:\\xyyFile2\\" + i + ".txt", FileMode.Open, FileAccess.Write);
StreamWriter sr = new StreamWriter(fs);
sr.WriteLine(totalContent);//开始写入值
sr.Close();
fs.Close();
}
i++;
totalContent = content;
content = reader.ReadLine();
}
totalContent += content;
} }
MessageBox.Show("解析完成,默认保存在D://xyyFile2中");
}

  第二个按钮就是进行文件内容的解析。

C#windows桌面应用小程序制作——大文件数据分段解析存储的更多相关文章

  1. 制作一个windows垃圾清理小程序

    制作一个windows垃圾清理小程序: 把下列代码保存为.bat文件(如垃圾清理.bat) 双击它就能很快地清理垃圾文件,大约一分钟不到. 就是下面的文字(这行不用复制)=============== ...

  2. .net Windows服务程序和安装程序制作图解 及 VS 2010创建、安装、调试 windows服务(windows service)

    .net Windows服务程序和安装程序制作 最近项目中用到window服务程序,以前没接触过,比较陌生,花了两天的时间学习了下,写了个简单的服务,但在制作安装程序的时候,参照网上很多资料,却都制作 ...

  3. 微信小程序开发详解——小程序,大颠覆!

    微信小程序开发 联系 苏念 188.1414.7927  微信小程序系统开发 微信新功能开发 小程序开发 小程序怎么开发 app小程序开发 简化小程序开发 微信小程序定制 小程序制作 开发微信小程序  ...

  4. 微信小程序,前端大梦想(六)

    微信小程序,前端大梦想(六) 微信小程序之联合百度API实现定位 定位功能对于我们都不陌生,在移动端的应用中更是不可或缺的功能,小程序中也提供了对应的API帮助我们完成定位的实现,但是目前小程序的定位 ...

  5. 微信小程序-开心大转盘(圆盘指针)代码分析

    大转盘是比较常见的抽奖活动 .以前做过h5的大转盘,最近小程序比较火,客户要求做小程序的大转盘.我们就来分析下代码.先上几个图:     界面效果还是很不错的. 做界面还是比较容易的,只要有前端基础没 ...

  6. 微信小程序开发工具的数据,配置,日志等目录在哪儿? 怎么找?

    原文地址:http://www.wxapp-union.com/portal.php?mod=view&aid=359 本文由本站halfyawn原创:感谢原创者:如有疑问,请在评论内回复   ...

  7. 微信小程序-02-项目文件之间配合和调用关系

    微信小程序-02-项目文件之间配合和调用关系 我就不说那么多了,我是从官方文档拷贝的,然后加上一些自己的笔记,不喜勿喷 官方文档:https://developers.weixin.qq.com/mi ...

  8. 原创:微信小程序调用PHP后台接口,解析纯html文本

    ---效果图片预览---    1.微信js动态传参:wx.request({        url: 'https://m.****.com/index.php/Home/Xiaoxxf/activ ...

  9. 小程序中搜索文件,阅览pdf,分享文件链接,评论表情符号

    小程序中搜索文件,阅览pdf,分享文件链接,评论表情符号 https://blog.csdn.net/hotqin888/article/details/84111389 小程序中打开网页和pdf h ...

随机推荐

  1. CodePad系列之-Tkinter窗体

    Codepad系列是将自己用过的一些小功能代码段记录下来,便于后续查找使用,是一个代码备忘录系列. 本文简单记录在用Tkinter开发GUI窗体时一些简单的代码段,以便后续使用.官方文档地址 - He ...

  2. SpringBoot打成jar包后,获取不到读取resources目录下文件路径的问题

    问题描述: Springboot没有打成jar之前,可以成功获取读取resources目录下xxx.json文件的 路径.但是打成jar包后,接口调不通,原因是获取不到文件的路径. 原因: 在本地进行 ...

  3. MHA-Atlas-MySQL高可用集群2

    MHA脚本管理方式 (1)获取管理脚本master_ip_failover 提示:yum安装的manager是没有这个脚本的. 我们需要从manager的源码包里复制一个.   [root@mysql ...

  4. SQL Server信息偏差影响表联结方式统计

    SQL Server统计信息偏差影响表联结方式案例浅析   我们知道数据库中的统计信息的准确性是非常重要的.它会影响执行计划.一直想写一篇关于统计信息影响执行计划的相关博客,但是都卡在如何构造一个合适 ...

  5. 学习笔记DL001:数学符号、深度学习的概念

    数学符号. 数和数组.

  6. 第五章JavaScript

    创建数组://1.字面量方式创建 (推荐大家使用这种方式创建数组 简单粗暴) var colors = ['red','color','yellow'];console.log(colors) //空 ...

  7. cocos CCLayer glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);ios11闪退 spine动画

    搜索一下方法,找到后替换不同内容: void PolygonBatch::flush () { if (!_verticesCount) return; GL::bindTexture2D(_text ...

  8. redhat 开课啦

    今天是三八女神节. 终于开课啦,为考取RHCE准备.

  9. Azure CosmosDB (4) 在一致性(Consistency)可用性(Availability)和性能(Performance)之间的权衡

    <Windows Azure Platform 系列文章目录> 我个人感觉,这个概念和分布式系统中的CAP原则是类似的: CAP原则指的是在一个分布式系统中,Consistency(一致性 ...

  10. catkin_make编译错误

    在工作空间下编译ros的代码包,报错如下, CMake Error at LeGO-LOAM/LeGO-LOAM/CMakeLists.txt: (find_package): By not prov ...