C#编程:详尽指南——读写TXT文件
需积分: 13 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,具体选择取决于你的需求,例如是否需要逐行处理、是否关心文件的当前位置等。在进行文件操作时,记得始终处理可能出现的异常,并确保在操作完成后正确关闭文件流,以避免资源泄漏。
224 浏览量
321 浏览量
2016-08-26 上传
2016-08-26 上传
150 浏览量
2009-01-09 上传
2014-07-13 上传
2008-11-01 上传
xlgt_8075
- 粉丝: 0
- 资源: 14
最新资源
- MATLAB实现小波阈值去噪:Visushrink硬软算法对比
- 易语言实现画板图像缩放功能教程
- 大模型推荐系统: 优化算法与模型压缩技术
- Stancy: 静态文件驱动的简单RESTful API与前端框架集成
- 掌握Java全文搜索:深入Apache Lucene开源系统
- 19计应19田超的Python7-1试题整理
- 易语言实现多线程网络时间同步源码解析
- 人工智能大模型学习与实践指南
- 掌握Markdown:从基础到高级技巧解析
- JS-PizzaStore: JS应用程序模拟披萨递送服务
- CAMV开源XML编辑器:编辑、验证、设计及架构工具集
- 医学免疫学情景化自动生成考题系统
- 易语言实现多语言界面编程教程
- MATLAB实现16种回归算法在数据挖掘中的应用
- ***内容构建指南:深入HTML与LaTeX
- Python实现维基百科“历史上的今天”数据抓取教程