C# 读取文本文件,C# 中的输入&输出基于流。 Stream
是所有流的抽象基类。 流是字节序列的抽象,例如文件,输入/输出设备,进程间通信管道或 TCP / IP 套接字。
C# 流
Stream
为输入和输出的类型提供通用接口,并将编程器与操作系统和底层设备的特定详细信息隔离开。 例如,MemoryStream
处理内存中的数据,FileStream
处理文件中的数据。
thermopylae.txt
在我们的示例中,我们将读取以下文件:
C# 使用File.ReadAllText
读取文本文件
File.ReadAllText()
方法打开一个文本文件,将文件的所有行读取为字符串,然后关闭文件。
Program.cs
该示例读取thermopylae.txt
文件的内容并将其打印到控制台。
C# 使用File.ReadAllLines
读取文本文件
File.ReadAllLines()
打开一个文本文件,将文件的所有行读入字符串数组,然后关闭文件。
Program.cs
使用File.ReadAllLines()
方法读取thermopylae.txt
文件的内容并将其打印到控制台。
我们遍历数组并打印其元素。
C# 使用StreamReader
读取文本文件
StreamReader
设计用于以特定编码输入字符。 它用于从标准文本文件中读取信息行。
使用StreamReader
的ReadToEnd
ReadToEnd()
方法从流的当前位置到其末尾读取所有字符。
Program.cs
该示例使用StreamReader's
ReadToEnd()
方法读取文件。
FileStream
类为文件提供Stream
,支持同步和异步读取和写入操作。 构造函数使用指定的路径,创建模式和读/写权限初始化FileStream
类的新实例。
FileStream
被传递到StreamReader
。
StreamReader's
ReadToEnd()
方法读取从当前位置到文件结尾的所有字符。
使用StreamReader
的ReadLine
StreamReader
的ReadLine()
方法从当前流中读取一行字符,并将数据作为字符串返回。
Program.cs
该代码示例逐行读取文件。
在 while 循环中,我们使用StreamReader's
ReadLine()
方法逐行读取文件的内容。
C# 与StreamReader
的ReadToEndAsync
异步读取文本文件
ReadToEndAsync()
方法异步读取从当前位置到流末尾的所有字符,并将它们作为一个字符串返回。
Program.cs
在下一个示例中,我们异步读取文本文件。
async
修饰符允许在Main()
方法中进行异步操作。
await
运算符应用于异步方法中的任务,以暂停该方法的执行,直到等待的任务完成。