C#逐行读取TXT文件并解析数据

4星 · 超过85%的资源 需积分: 46 321 下载量 66 浏览量 更新于2024-09-18 4 收藏 664B TXT 举报
在C#编程中,读取TXT文件是一项常见的任务,特别是在处理文本数据和文件操作时。本文将详细介绍如何使用C#的基本I/O操作来实现从TXT文件中读取数据的过程。首先,我们需要理解的是,C#中的StreamReader类是处理文本文件流的重要工具,它允许我们按行读取文件内容。 步骤1:创建StreamReader对象 ```csharp StreamReader sr = new StreamReader("abc.txt", System.Text.Encoding.GetEncoding("GB2312")); ``` 这里,`StreamReader`的构造函数接受两个参数:文件路径和编码方式。在本例中,我们选择了GB2312编码,确保能够正确解析非ASCII字符。如果文件路径是相对路径,则默认在应用程序目录下查找,如果是绝对路径,则直接指向指定位置的文件。 步骤2:读取文件内容 使用一个布尔变量`bl`来控制循环,直到文件读取完毕。`sr.ReadLine()` 方法用于逐行读取文件,如果读取到`null`,表示已到达文件末尾。 ```csharp while (bl) // 循环读取 { if (sr.ReadLine() != null) // 检查是否有新的一行 { string str = sr.ReadLine(); // 读取当前行内容 // 对str进行进一步处理 // 例如,使用split方法拆分字符串 string[] data = str.Split(''); // 将一行数据根据空格或其他分隔符分割成多个部分 // 可能会将这些数据存储到List<string>或DataTable中 } else { bl = false; // 文件结束,设置标志为false } } ``` 在实际操作中,`str.split('')` 这里可以替换为使用不同的分隔符,如逗号、制表符等,具体取决于TXT文件中的数据格式。如果数据结构复杂,可能还需要使用正则表达式进行解析。读取完成后,别忘了关闭StreamReader以释放系统资源。 ```csharp sr.Close(); ``` 总结来说,C#通过StreamReader类实现了对TXT文件的高效读取,通过逐行读取和处理数据,然后将其存储到列表或数据表格中,以便后续的数据分析或操作。这是一项基础且实用的技能,在处理文本文件时经常被用到。