.NET中的IO操作之文件流(一)
发布日期:2021-05-28 16:25:05 浏览次数:30 分类:精选文章

本文共 1613 字,大约阅读时间需要 5 分钟。

#FileSystemOperationsInNet

在C#编程中,文件流操作是常见且重要的一部分。以下是关于文件流操作的实用指南:

1. 基本文件操作

读取文件内容

FileStream fsRead = new FileStream("1.txt", FileMode.Open);
byte[] bytes = new byte[fsRead.Length];
int r = fsRead.Read(bytes, 0, bytes.Length);
// 关闭流
fsRead.Close();
fsRead.Dispose();

写入文件内容

FileStream fsWrite = new FileStream(@"1.txt", FileMode.Create);
StreamWriter sw = new StreamWriter(fsWrite);
String msg = "HelloWorld";
sw.WriteLine(msg);
// 自动关闭流

2. 字节与字符串转换

字符串到字节数组

String msg = "HelloWorld";
byte[] bytes = Encoding.UTF8.GetBytes(msg);

字节数组到字符串

String newMsg = Encoding.UTF8.GetString(bytes);

3. 编码问题

避免乱码

使用相同的编码方式进行写入和读取。例如:

StreamWriter sw = new StreamWriter(@"1.txt", true, Encoding.GetEncoding("GB2312"));
StreamReader sr = new StreamReader(@"1.txt", Encoding.GetEncoding("GB2312"));
// 或使用 UTF-8
StreamWriter sw = new StreamWriter(@"1.txt", true, Encoding.UTF8);
StreamReader sr = new StreamReader(@"1.txt", Encoding.UTF8);

4. IDisposable 接口

实现资源释放

任何需要释放托管资源的对象应实现IDisposable接口。例如:

class MyResource : IDisposable
{
public void Dispose()
{
// 释放资源
}
}

5. 异常处理

安全地关闭资源

FileStream fs = null;
try
{
fs = new FileStream(@"1.txt", FileMode.Open);
// 具体操作
}
finally
{
if (fs != null)
{
fs.Dispose();
}
}

使用 using 语句

using (FileStream fs = new FileStream(@"1.txt", FileMode.Open))
{
// 提供了significant performance和代码简洁性
}

6. 读取和写入按行

StreamWriter 和 StreamReader

StreamWriter sw = new StreamWriter(@"output.txt");
sw.WriteLine("HelloWorld");
StreamReader sr = new StreamReader(@"input.txt");
string line = sr.ReadLine();

以上示例涵盖了从基础到高级的操作,包括编码、异常处理和资源管理。如果你有具体的问题,随时提出!

上一篇:vue ts开发环境之安装包
下一篇:IDEA远程调试tomcat

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2025年05月06日 17时40分55秒