C# 的 TextReader.Read
方法用于从文本读取器中同步读取一个字符。此方法会阻塞当前线程,直到有字符可供读取。
该方法的完整签名如下:
public virtual int Read();
方法返回值类型为 int
,返回值为表示读取的字符的 Unicode 编码。若文本读取器到达流的末尾,返回值将为 -1。
TextReader.Read
方法的使用方法一般与 StreamReader
类一起使用。以下是一个使用该函数读取文本文件并输出其内容的示例代码:
using (StreamReader reader = new StreamReader("file.txt"))
{
int nextChar;
while ((nextChar = reader.Read()) != -1)
{
Console.Write((char)nextChar); // 逐字符输出
}
}
在该示例中,首先使用 StreamReader
打开了一个名为 “file.txt” 的文本文件并实例化一个文本阅读器。然后使用 while
循环对文本内每个字符逐个进行读取,每读取一个字符都会将其转换为 char
类型并输出。
下面是另一个示例。该示例演示了如何从 Console.In
中读取用户输入的字符串并输出第一个字符。
using (TextReader reader = Console.In)
{
int nextChar = reader.Read(); // 读取第一个字符
Console.WriteLine("第一个字符为:" + (char)nextChar);
}
在该示例中,我们实例化了一个文本阅读器并将其赋值为 Console.In
,表示从标准输入中进行读取。然后通过 reader.Read
方法读取了输入字符串的第一个字符,并进行输出。
总之,TextReader.Read
方法是 .NET 内置类库中用于同步读取字符的重要函数,在读取器的使用过程中需特别注意其中包含的阻塞性质。