C#编程:读取txt文件内容到二维数组
3星 · 超过75%的资源 需积分: 44 50 浏览量
更新于2024-09-15
收藏 1KB TXT 举报
"C#读取txt数据到数组中"
在C#编程中,读取文本文件(如txt)的数据是一项常见的任务。这个示例代码展示了如何读取txt文件中的数据并将其存储到二维数组中。这里我们将详细解析这段代码的工作原理。
首先,`button1_Click`事件处理程序被触发,这通常意味着用户点击了一个按钮。在此事件中,一个`OpenFileDialog`对话框被打开,允许用户选择一个txt文件。如果用户选择了文件且没有取消操作(`openFileDialog1.ShowDialog() != DialogResult.Cancel`),则会继续执行后续步骤。
变量`FileName`被设置为所选文件的路径,然后创建了一个`StreamReader`对象`readfile`来读取文件内容。`readfile.BaseStream.Seek(0, System.IO.SeekOrigin.Begin)`这一行将读取指针定位到文件的开头,以便从头开始读取。
接着,通过`while (readfile.ReadLine() != null)`循环计算文件中的行数,并将结果存储在`line_total`中。然后,行数显示在`textBox3`控件中,这样用户可以看到文件有多少行。
在下一次循环中,实际的读取操作开始。创建了一个`List<string[]>`对象`list`用于存储读取的行数据。这次循环(`while (!readfile.EndOfStream)`)不会计算行数,而是逐行读取数据。`readfile.ReadLine()`方法获取一行文本,然后使用`Split('')`将这一行按空格分割成字符串数组。
每个分割后的数组(`string[] line`)被复制到一个新的字符串数组`arr`中,并通过`Convert.ToString(line[i])`确保所有元素都是字符串类型。这个新数组`arr`随后添加到`list`中。这个过程会持续到文件的末尾。
最后,`list`被转换为一个二维数组`shuzu`,这样就可以方便地访问和处理数据。例如,`textBox4.Text = shuzu[0][5];`将第一行的第六个元素显示在`textBox4`中。需要注意的是,数组索引是从0开始的,所以`shuzu[0][5]`实际上是指第一行的第六个元素。
总结起来,这段代码演示了C#中如何使用`StreamReader`读取txt文件,计算行数,以及如何将数据存储到二维数组中进行进一步处理。这种技术对于处理包含结构化数据的文本文件非常有用,例如CSV文件。在实际应用中,可以根据需要调整代码以适应不同的分隔符、异常处理和其他特定需求。
2020-10-30 上传
2020-03-31 上传
2020-05-31 上传
2020-02-26 上传
2019-06-06 上传
2019-05-15 上传
qiuyahui0123
- 粉丝: 2
- 资源: 12
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍