StreamReader类

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/

点赞(99) 打赏

评论列表 共有 1 条评论

南宫静远 9月前 回复TA

人生越努力越幸运。不管是遇到了风起云涌还是暗礁重重;我们唯一能做的就是握好前行的舵在恰当的时间做好恰当的事。敢想敢做敢面对挑战与困难经历磨难终究会到达彼岸。

立即
投稿
发表
评论
返回
顶部