C# StreamReader 文件流读取
|
admin
2024年2月7日 23:23
本文热度 550
|
摘要
StreamReader类是一种用于从流中读取字符串的类,它继承自TextReader类,是C#编程语言中的一个重要类。它的作用是将流中的字符数据转换为字符串,使程序可以对字符串进行处理。
StreamReader类提供了Read()和ReadLine()两种方法来从流中读取数据。Read()方法用于读取单个字符,它可以指定读取的字符数量,也可以返回读取到的字符,并且在到达流的结尾时会自动停止读取。ReadLine()方法则用于读取一行字符串,它会读取流中的每个字符,直到读取到换行符为止。
StreamReader类还提供了其他一些有用的方法,例如ReadToEnd()方法用于读取整个流的数据,并将其作为字符串返回。它还提供了SetBaseStream()方法,可以设置基本的流源,以便可以在读取数据时对其进行处理。
StreamReader类在很多场景中都有广泛的应用,例如读取文本文件、网络通信、日志文件等。它可以读取不同格式的文件,例如文本文件、二进制文件、网页文件等,因此在数据处理方面具有非常重要的作用。
在使用StreamReader类时,需要注意的是,如果不正确地使用它,可能会导致一些问题。例如,如果不使用完整的引用类型,则可能会导致程序出现错误。因此,在使用StreamReader类时,需要确保代码的正确性和安全性。
StreamReader类是C#编程语言中非常重要的一个类,它提供了一种方便、高效的方法来从流中读取字符串,并且可以应用于许多场景。通过正确使用它,可以帮助程序更好地处理数据,并且实现更多的功能。
正文
属性
|
|
---|
BaseStream | 返回基础流。 |
CurrentEncoding | 获取当前 StreamReader 对象正在使用的当前字符编码。 |
EndOfStream | 获取一个值,该值指示当前的流位置是否在流结尾。 |
方法
|
|
---|
Close() | 关闭 StreamReader 对象和基础流,并释放与读取器关联的所有系统资源。 |
CreateObjRef(Type) | 创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。 (继承自 MarshalByRefObject) |
DiscardBufferedData() | 清除内部缓冲区。 |
Dispose() | 释放由 TextReader 对象使用的所有资源。 (继承自 TextReader) |
Dispose(Boolean) | 关闭基础流,释放 StreamReader 使用的未托管资源,同时还可以根据需要释放托管资源。 |
Peek() | 返回下一个可用字符,但不使用它。 |
Read() | 读取输入流中的下一个字符并使该字符位置提升一个字符。 |
Read(Char[], Int32, Int32) | 从指定的索引位置开始将来自当前流的指定的最多字符读到缓冲区。 |
Read(Span<Char>) | 将当前流中的字符读入范围。 |
ReadAsync(Char[], Int32, Int32) | 从当前流中异步读取指定的最大字符,并且从指定的索引位置开始将该数据写入缓冲区。 |
ReadAsync(Memory<Char>, CancellationToken) | 将当前流中的字符异步读入内存块。 |
ReadBlock(Char[], Int32, Int32) | 从当前流中读取指定的最大字符数并从指定的索引位置开始将该数据写入缓冲区。 |
ReadBlock(Span<Char>) | 从当前流中读取字符并将数据写入缓冲区。 |
ReadBlockAsync(Char[], Int32, Int32) | 从当前流中异步读取指定的最大字符,并且从指定的索引位置开始将该数据写入缓冲区。 |
ReadBlockAsync(Memory<Char>, CancellationToken) | 从当前流中异步读取字符并将数据写入缓冲区。 |
ReadLine() | 从当前流中读取一行字符并将数据作为字符串返回。 |
ReadLineAsync() | 从当前流中异步读取一行字符并将数据作为字符串返回。 |
ReadLineAsync(CancellationToken) | 异步读取一行字符并将数据作为字符串返回。 (继承自 TextReader) |
ReadToEnd() | 读取来自流的当前位置到结尾的所有字符。 |
ReadToEndAsync() | 异步读取来自流的当前位置到结尾的所有字符并将它们作为一个字符串返回。 |
ReadToEndAsync(CancellationToken) | 异步读取从当前位置到文本读取器末尾的所有字符并将它们作为一个字符串返回。 (继承自 TextReader) |
读取文件
StreamReader reader = new StreamReader("d:\\a.log");
var ret = reader.ReadToEnd();
reader.Close();
MessageBox.Show(ret);
按行读取
StreamReader reader = new StreamReader("d:\\a.log");
string line = "";string lines = "";
while ((line = reader.ReadLine()) != null)
{
lines+=line;}reader.Close();
MessageBox.Show(lines);
该文章在 2024/2/7 23:23:10 编辑过