StreamReader类是C#中用于读取字符流的类,属于System.IO命名空间,它提供了多种读取文件、字节数组和字符串等数据源的方法,可以帮助开发人员快速读取数据并进行处理。
使用方法:
1. 创建StreamReader对象
可以使用以下构造函数创建StreamReader对象:
```
StreamReader(Stream stream);
StreamReader(Stream stream, Encoding encoding);
StreamReader(Stream stream, Encoding encoding, bool detectEncodingFromByteOrderMarks);
StreamReader(string path);
StreamReader(string path, Encoding encoding);
StreamReader(string path, Encoding encoding, bool detectEncodingFromByteOrderMarks);
```
其中,第一个参数为数据源流(可以来自文件、内存流等),第二个参数为编码方式(默认是UTF-8),第三个参数用于指定是否从文件头部读取编码方式的字节序标记。
2. 读取字符串数据
使用StreamReader对象的ReadLine()方法、ReadToEnd()方法或Read()方法等可以读取字符串数据:
```
string line;
while ((line = reader.ReadLine()) != null)
{
Console.WriteLine(line);
}
string content = reader.ReadToEnd();
char[] buffer = new char[1024];
int count = reader.Read(buffer, 0, buffer.Length);
string content = new string(buffer, 0, count);
```
3. 读取字节数组
使用StreamReader对象的Read()方法可以读取字节数组:
```
byte[] buffer = new byte[1024];
int count = reader.BaseStream.Read(buffer, 0, buffer.Length);
```
4. 关闭StreamReader对象
使用完StreamReader对象后,应该及时关闭它。可以使用Close()方法或Dispose()方法关闭:
```
reader.Close();
reader.Dispose();
```
案例说明:
下面是一个简单的示例,读取文件中的字符串数据并打印到控制台上:
```
using (StreamReader reader = new StreamReader("test.txt"))
{
string line;
while ((line = reader.ReadLine()) != null)
{
Console.WriteLine(line);
}
}
```
本例中,使用了StreamReader类的默认构造函数创建了一个对象,并传入文件路径“test.txt”作为数据源。然后使用ReadLine()方法逐行读取数据并通过Console.WriteLine()方法打印输出到控制台上。
综上所述,StreamReader类是读取字符流的好用的工具类,对较大的文本文件能够有很好的优化,能够帮助开发人员高效地读取和处理数据。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.37seo.cn/
人生越努力越幸运。不管是遇到了风起云涌还是暗礁重重;我们唯一能做的就是握好前行的舵在恰当的时间做好恰当的事。敢想敢做敢面对挑战与困难经历磨难终究会到达彼岸。