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

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桌面应用小程序制作——大文件数据分段解析存储的更多相关文章
- 制作一个windows垃圾清理小程序
制作一个windows垃圾清理小程序: 把下列代码保存为.bat文件(如垃圾清理.bat) 双击它就能很快地清理垃圾文件,大约一分钟不到. 就是下面的文字(这行不用复制)=============== ...
- .net Windows服务程序和安装程序制作图解 及 VS 2010创建、安装、调试 windows服务(windows service)
.net Windows服务程序和安装程序制作 最近项目中用到window服务程序,以前没接触过,比较陌生,花了两天的时间学习了下,写了个简单的服务,但在制作安装程序的时候,参照网上很多资料,却都制作 ...
- 微信小程序开发详解——小程序,大颠覆!
微信小程序开发 联系 苏念 188.1414.7927 微信小程序系统开发 微信新功能开发 小程序开发 小程序怎么开发 app小程序开发 简化小程序开发 微信小程序定制 小程序制作 开发微信小程序 ...
- 微信小程序,前端大梦想(六)
微信小程序,前端大梦想(六) 微信小程序之联合百度API实现定位 定位功能对于我们都不陌生,在移动端的应用中更是不可或缺的功能,小程序中也提供了对应的API帮助我们完成定位的实现,但是目前小程序的定位 ...
- 微信小程序-开心大转盘(圆盘指针)代码分析
大转盘是比较常见的抽奖活动 .以前做过h5的大转盘,最近小程序比较火,客户要求做小程序的大转盘.我们就来分析下代码.先上几个图: 界面效果还是很不错的. 做界面还是比较容易的,只要有前端基础没 ...
- 微信小程序开发工具的数据,配置,日志等目录在哪儿? 怎么找?
原文地址:http://www.wxapp-union.com/portal.php?mod=view&aid=359 本文由本站halfyawn原创:感谢原创者:如有疑问,请在评论内回复 ...
- 微信小程序-02-项目文件之间配合和调用关系
微信小程序-02-项目文件之间配合和调用关系 我就不说那么多了,我是从官方文档拷贝的,然后加上一些自己的笔记,不喜勿喷 官方文档:https://developers.weixin.qq.com/mi ...
- 原创:微信小程序调用PHP后台接口,解析纯html文本
---效果图片预览--- 1.微信js动态传参:wx.request({ url: 'https://m.****.com/index.php/Home/Xiaoxxf/activ ...
- 小程序中搜索文件,阅览pdf,分享文件链接,评论表情符号
小程序中搜索文件,阅览pdf,分享文件链接,评论表情符号 https://blog.csdn.net/hotqin888/article/details/84111389 小程序中打开网页和pdf h ...
随机推荐
- Lucene架构
先整体上看一下Lucene的架构设计图(见下图),先看上层应用,首先是信息采集的过程,文件系统.数据库.万维网以及手工输入的文件都可以作为信息采集的对象,也是要搜索的文档的来源,采集万维网上的信息一般 ...
- javascript的加减乘除结果会有误差,在两个浮点数相加的时候会比较明显。以下函数返回较为精确的计算结果
加法函数(返回值:arg1加arg2的精确结果 ) function accAdd (arg1, arg2) { var r1, r2, m, c try { r1 = arg1.toString( ...
- position(3rd week blog)
static:静态的默认属性,上(top)下(bottom)左(left)右(right)等参数不会执行没有影响.relative:此属性会根据上(top)下(bottom)左(left)右(righ ...
- Spring ConditionalOnProperty
Spring Annotation @ConditionalOnProperty spring doc解释 @Conditional: Indicates that a component is on ...
- 关于Mysql的主从
mysql 主从同步异常原因及恢复: 1,auto.cnf 配置问题 这个问题是在部署主从复制的时候,可能会遇到 [1]报错 Last_IO_Error: Fatal error: The sla ...
- 慢慢啃css
上个礼拜清明放假了,所有忘记更新了,但是每天的学习没有落下,嘿嘿嘿~ 可是这两天就很头疼了,因为发烧了,呜呜呜~昨天在床上睡了一天,四肢无力,头晕眼花,严重的发烧,想靠自己的免疫力扛过去,缺没有. 今 ...
- 踩坑 —— Eclipse MAVEN编译
一.踩坑 1.昨天download了Netty和SOFARPC工程的源码,Eclipse编译的时候报错了,信息如下: Plugin execution not covered by lifecycle ...
- vue简单实例代码
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...
- rust 如何搜索,如何debug (解决)
requirement c程序可以用手动查看.h文件获得定义,或者用dumpbin分析lib或者dll获得二进制信息. 但是rust如何得到库的定义呢? rust如何查看函数定义? rust如何deb ...
- FirewallD 快速使用文档
FirewallD简介 FirewallD是CentOS7系列上代替iptables管理netfilter的配置工具,提供图形化和命令行,使用python开发(新版中计划使用c++重写),提供图形化和 ...