C#编程:详尽指南——读写TXT文件

需积分: 13 2 下载量 178 浏览量 更新于2024-09-18 收藏 2KB TXT 举报
"这篇教程详细介绍了如何在C#中读取和写入TXT文本文件,提供了两种主要的方法:使用FileStream和使用StreamReader/StreamWriter。" 在C#编程中,读取和写入TXT文件是常见的任务。以下是两种常用方法的详细说明: ### 1. 使用FileStream读取TXT文件 ```csharp using System; using System.Collections.Generic; using System.Text; using System.IO; // 定义字节和字符数组 byte[] byData = new byte[100]; char[] charData = new char[1000]; try { // 创建FileStream对象,打开指定路径的文件 FileStream sFile = new FileStream("文件路径", FileMode.Open); // 将文件指针移动到第56个字节(SeekOrigin.Begin是从文件开头计算) sFile.Seek(55, SeekOrigin.Begin); // 读取100个字节到字节数组 sFile.Read(byData, 0, 100); // 创建解码器,将字节转换为字符 Decoder d = Encoding.UTF8.GetDecoder(); // 将字节数组转换为字符数组 d.GetChars(byData, 0, byData.Length, charData, 0); // 打印字符数组 Console.WriteLine(charData); // 关闭文件流 sFile.Close(); } catch (IOException e) { Console.WriteLine("发生了IOException异常!"); Console.WriteLine(e.ToString()); Console.ReadLine(); return; } ``` 这段代码展示了如何使用FileStream类从指定位置读取TXT文件。`FileMode.Open`表示打开现有文件,`Seek`方法用于设置文件读取的起始位置,`Read`方法用于读取字节,最后使用`GetDecoder`和`GetChars`方法将字节转换为字符。 ### 2. 使用StreamReader和StreamWriter读写TXT文件 ```csharp using System; using System.Collections.Generic; using System.Text; using System.IO; // 读取文件 StreamReader objReader = new StreamReader("文件路径"); string sLine = ""; ArrayList LineList = new ArrayList(); while (sLine != null) { sLine = objReader.ReadLine(); if (sLine != null) LineList.Add(sLine); } // 关闭读取流 objReader.Close(); // 写入文件 StreamWriter objWriter = new StreamWriter("文件路径"); // 遍历ArrayList并写入文件 foreach (string line in LineList) objWriter.WriteLine(line); // 清理并关闭写入流 objWriter.Flush(); objWriter.Close(); ``` 这里使用了StreamReader来逐行读取TXT文件,并将每一行存储在一个ArrayList中。然后,使用StreamWriter将ArrayList中的行写回文件。`StreamReader.ReadLine()`方法用于读取文件的下一行,而`StreamWriter.WriteLine()`方法用于写入文本。 总结,C#中读取和写入TXT文件可以选择FileStream、StreamReader或StreamWriter,具体选择取决于你的需求,例如是否需要逐行处理、是否关心文件的当前位置等。在进行文件操作时,记得始终处理可能出现的异常,并确保在操作完成后正确关闭文件流,以避免资源泄漏。