C#编程:详尽指南——读写TXT文件
需积分: 13 57 浏览量
更新于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,具体选择取决于你的需求,例如是否需要逐行处理、是否关心文件的当前位置等。在进行文件操作时,记得始终处理可能出现的异常,并确保在操作完成后正确关闭文件流,以避免资源泄漏。
2018-12-04 上传
2016-08-26 上传
2016-08-26 上传
150 浏览量
2014-07-13 上传
321 浏览量
2009-01-09 上传
xlgt_8075
- 粉丝: 0
- 资源: 14
最新资源
- PowerDesigner数据库建模技术.pdf
- 呼叫中心运营指标体系.doc
- Linux操作系统下入门
- MVC ASP .NET
- JSP语法简明入门教程大全
- 谭浩强C语言设计第三版
- php的资料php优化
- 在ModelSimSE中添加ALTERA仿真库的详细步骤
- FLEX组件拖放详细描述
- 删除一段时间没有登入域的用户或计算机.txt
- 单片机c语言学习很好的资料
- Expert Oracle Database Architecture 9I And 10G Programming Techniques And Solutions.pdf
- javascript help sheet
- C语言指针简单详细教程
- javascript 实例大全
- I2C Spec Rev2.10