怎么将解析的txt文本数据写入到指定位置

问题描述

privatevoidbutton1_Click(objectsender,EventArgse){OpenFileDialogofd=newOpenFileDialog();ofd.Filter="(*.*)|*.*";ofd.RestoreDirectory=true;if(ofd.ShowDialog()==DialogResult.OK){textBox6.Text=ofd.FileName;FileStreamfs=newFileStream(ofd.FileName,FileMode.Open,FileAccess.Read);StreamReadersr=newStreamReader(fs);try{ofd.OpenFile();stringline=sr.ReadLine();while(line!=null){stringstr=@"";string[]bit=str.Split(',');stringa=bit[2].ToString();//时间stringb=bit[3].ToString();//时间指示符stringc=bit[4].ToString();//纬度stringd=bit[5].ToString();//南北半球标示stringe1=bit[6].ToString();//经度stringf=bit[7].ToString();//东西半球标示stringg=bit[8].ToString();//航速stringh=bit[9].ToString();//航向stringi=bit[21].ToString();//真风速stringj=bit[22].ToString();//真风向stringk=bit[26].ToString();//气压stringl=bit[28].ToString();//气温stringm=bit[30].ToString();//湿度}}catch(Exceptionex){MessageBox.Show(ex.Message.ToString());}finally{sr.Close();fs.Close();}}}privatevoidbutton2_Click(objectsender,EventArgse){if(!(Directory.Exists(@"D:temp"))){Directory.CreateDirectory(@"D:temp");}stringcbz="CQD";strings=dateTimePicker2.Value.ToString("yyyyMM");stringfilePath=@"D:temp"+textBox3.Text+""+s+""+textBox2.Text+"."+cbz+".txt";if(File.Exists(filePath)){labelResult.ForeColor=Color.Red;labelResult.Text="当前文件已经存在!";return;}FileStreamfs=newFileStream(filePath,FileMode.Create);StreamWritersw=newStreamWriter(fs);try{sw.Write(textBox4.Text);sw.Flush();labelResult.ForeColor=Color.Green;labelResult.Text="写入数据完成!";}catch(Exceptionex){MessageBox.Show(ex.Message.ToString());}finally{sw.Close();fs.Close();}}我现在通过button2,在红色标记的位置,是否可以将我button1里打开的文件,并解析的写入到这个位置?怎么写这段代码???另外button1里,现在有错吗?执行起来是没报错的,用split给“,”去掉,然后分别截取的

解决方案

解决方案二:
LZ先去看点基础知识吧,就一个简单的字符串操作加IO操作问题,你已经反复问了N个问题了,这个N至少大于3连下面这段代码都不会改……stringline=sr.ReadLine();while(line!=null){//stringstr=@"";string[]bit=line.Split(',');

解决方案三:
红色部分,如何将a,b,c,d....写入过去?
解决方案四:
textBox4.Text=a+","+b+……
解决方案五:
参考一下:http://www.cnblogs.com/akwwl/p/3240813.html另外大量的字符串拼接请考虑StringBuilder
解决方案六:
引用3楼starfd的回复:

textBox4.Text=a+","+b+……

呵呵,真的是麻烦您了,我快40岁了,现在弄编程确实有点吃力。以前我主要是做设计的,没办法。另外感谢4楼给的链接,我正在学习。
解决方案七:
textBox4.Text=a+","+b+……但是如果button1打开的文件有多行怎么办?
解决方案八:
按钮1功能只要查询就行,读取和写入到新文件改到按钮2里,这样设计比较合理些。
解决方案九:
引用5楼qqqqmmmmmm的回复:

呵呵,真的是麻烦您了,我快40岁了,现在弄编程确实有点吃力。以前我主要是做设计的,没办法。另外感谢4楼给的链接,我正在学习。

你这话让我心里哇凉哇凉的……我也奔4了
解决方案十:
引用

我快40岁了

相信看见这句话的人,心里都会抽一下
解决方案十一:
引用5楼qqqqmmmmmm的回复:

Quote: 引用3楼starfd的回复:
textBox4.Text=a+","+b+……

呵呵,真的是麻烦您了,我快40岁了,现在弄编程确实有点吃力。以前我主要是做设计的,没办法。另外感谢4楼给的链接,我正在学习。

加油
解决方案十二:
别抽搐,来问题了。为什么提示是非法的空路径?privatevoidbutton1_Click(objectsender,EventArgse){OpenFileDialogofd=newOpenFileDialog();ofd.Filter="(*.*)|*.*";ofd.RestoreDirectory=true;if(ofd.ShowDialog()==DialogResult.OK){textBox6.Text=ofd.FileName;FileStreamfs=newFileStream(ofd.FileName,FileMode.Open,FileAccess.Read);try{ofd.OpenFile();}catch(Exceptionex){MessageBox.Show(ex.Message.ToString());}finally{fs.Close();}}}privatevoidbutton2_Click(objectsender,EventArgse){if(!(Directory.Exists(@"D:temp"))){Directory.CreateDirectory(@"D:temp");}stringcbz="CQD";strings=dateTimePicker2.Value.ToString("yyyyMM");stringfilePath=@"D:temp"+textBox3.Text+""+s+""+textBox2.Text+"."+cbz+".txt";if(File.Exists(filePath)){labelResult.ForeColor=Color.Red;labelResult.Text="当前文件已经存在!";return;}OpenFileDialogofd=newOpenFileDialog();FileStreamfs=newFileStream(ofd.FileName,FileMode.Create);StreamReadersr=newStreamReader(fs);StreamWritersw=newStreamWriter(fs);try{stringline=sr.ReadLine();while(line!=null){stringstr=@"";string[]bit=str.Split(',');stringa=bit[2].ToString();//时间stringb=bit[3].ToString();//时间指示符stringc=bit[4].ToString();//纬度stringd=bit[5].ToString();//南北半球标示stringe1=bit[6].ToString();//经度stringf=bit[7].ToString();//东西半球标示stringg=bit[8].ToString();//航速stringh=bit[9].ToString();//航向stringi=bit[21].ToString();//真风速stringj=bit[22].ToString();//真风向stringk=bit[26].ToString();//气压stringl=bit[28].ToString();//气温stringm=bit[30].ToString();//湿度listBox1.Text=a+b+c;}sw.Write(listBox1.Text);sw.Flush();labelResult.ForeColor=Color.Green;labelResult.Text="写入数据完成!";}catch(Exceptionex){MessageBox.Show(ex.Message.ToString());}finally{sr.Close();sw.Close();fs.Close();}}
解决方案十三:
stringline=sr.ReadLine();while(line!=null){stringstr=@"";string[]bit=str.Split(',');stringa=bit[2].ToString();//时间stringb=bit[3].ToString();//时间指示符stringc=bit[4].ToString();//纬度stringd=bit[5].ToString();//南北半球标示stringe1=bit[6].ToString();//经度stringf=bit[7].ToString();//东西半球标示stringg=bit[8].ToString();//航速stringh=bit[9].ToString();//航向stringi=bit[21].ToString();//真风速stringj=bit[22].ToString();//真风向stringk=bit[26].ToString();//气压stringl=bit[28].ToString();//气温stringm=bit[30].ToString();//湿度}

我是来吐槽的弱弱的问一句你的a-m的变量似乎压根就没有用过啊还有还有str变量的值不是空字符串吗你split出来的bit确认不会数组访问越界?、、

时间: 2024-10-24 10:04:20

怎么将解析的txt文本数据写入到指定位置的相关文章

C#实现把txt文本数据快速读取到excel中

  这篇文章主要介绍了C#实现把txt文本数据快速读取到excel中,本文直接给出示例代码,需要的朋友可以参考下 今天预实现一功能,将txt中的数据转到excel表中,做为matlab的数据源.搜集一些c#操作excel的程序.步骤如下: 下载一个Microsoft.Office.Interop.Excel.dll 在项目中引用. 编写代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2

C#实现大数据量TXT文本数据快速高效去重

原文 C#实现大数据量TXT文本数据快速高效去重 对几千万的TXT文本数据进行去重处理,查找其中重复的数据,并移除.尝试了各种方法,下属方法是目前尝试到最快的方法.以下代码将重复和不重复数据进行分文件存放,提升效率的关键是用到了HashSet. TextReader reader = File.OpenText(m_dataFilePath); string[] files = new string[2]; files[0] = ROOT_DIR + "不重复数据.txt"; file

妙用Excel把有规律的txt文本数据分列

刚考完试,领导心血来潮,要求统计一下男女比例.平均分.及格人数等各项信息.学校一直使用专用软件登记考生资料,但该软件竟没有这些统计功能,暴汗.幸好发现这软件能把基本数据导出为文本文件,我想,拿到Word或Exce里或许有办法解决.下面是导出的文本,如图1. 导出的文本 要统计各项数据,首先要把连在一起的各列数据分开,首先想到的是用Word的文本转换为表格功能,但尝试后发现,在Word中要将文本转为表格,必须具有文字分隔符,但从图1可见,几列数据是连在一起的,没有Word能够识别的符号分隔,所以此

向Excel中导入TXT文本数据的三种方法

Excel支持导入外部文本文件中的文本内容.通过导入数据的方法我们可以很方便地使用外部数据,在许多时候可以免去重新手动键入文本的麻烦. 在Excel中导入文本有多种方法,我们来看一看-- 1.使用"打开"命令 这是最常用的方法,这种方法可以直接将文本文件打开为一个Excel工作簿. 选择菜单命令"文件|打开",在"打开"对话框中选择"文件类型"为"文本文件",如图1所示,然后找到要导入的文本文件并将其选中,

灵活运用Excel把有规律地txt文本数据分列

刚考完试,领导心血来潮,要求统计一下男女比例.平均分.及格人数等各项信息.学校一直使用专用软件登记考生资料,但该软件竟没有这些统计功能,暴汗.幸好发现这软件能把基本数据导出为文本文件,我想,拿到Word或Exce里或许有办法解决.下面是导出的文本,如图1. 导出的文本 要统计各项数据,首先要把连在一起的各列数据分开,首先想到的是用Word的文本转换为表格功能,但尝试后发现,在Word中要将文本转为表格,必须具有文字分隔符,但从图1可见,几列数据是连在一起的,没有Word能够识别的符号分隔,所以此

python读取文本数据写入到数据库及查询优化

文本数据格式 ip2int函数用于IP地址转化为整数 int2ip函数用于整数转化为IP地址 insert_row函数用于插入数据库记录 from __future__ import print_function import torndb def get_mysql_conn():     return torndb.Connection(         host=mysql["host"] + ":" + mysql["port"],   

datatable写入txt文本问题

问题描述 数据库中有三个字段和两组值idnamepassword1sa121222wq43434用datattable读取之后,如何把这两都数据写入txt文本中,在文本中的格式为:编号为1的,用户名为sa,密码为12122编号为2的,用户名为wq,密码为43434一组数据写完换行,请教一下怎么写?最好帮我写一下这个代码,本人刚学这些. 解决方案 解决方案二:本帖最后由 bdmh 于 2014-02-13 15:20:40 编辑

sql-C# 按行读取txt文本内容导入数据库SQL(1)第二行数据就从第二列插入(2)索引超出了数组界限?

问题描述 C# 按行读取txt文本内容导入数据库SQL(1)第二行数据就从第二列插入(2)索引超出了数组界限? 都是按行读取txt内容,(因为有两行数据和其他的不一样)用正则分析出来,赋给一个字符串数组, 将一个字符串数组的每个值一次写入数据库行的对应列.一行读取完成. 可是却显示,索引超出了数组界限,数组个数和行对应的 .将读取出来的数据显示在textBox中是正确的, 但是奇怪的是也确实是导入进去了,数据库中表格有了数据 最终结果似乎对的,除了第二行第一列没有数据.谢谢,刚入手,第一个程序!

wince下,使用C# ,把数据写入txt文件中

问题描述 wince下,使用C# ,把数据写入txt文件中 各位高手大家好,我在wince下,使用C# ,把数据写入txt文件中,所有的代码都执行完成,也没有发生任何错误,但是我打开txt里面是空白的,没有任何数据,不知其解,望高手不吝指教,谢谢.写入txt的代码如下: FileStream fs = null; StreamWriter sw = null; try { fs = new FileStream(fileName, FileMode.Append, FileAccess.Writ