C#中的TextReader.Read方法用于从输入流中读取一个字符,并将该字符作为int类型返回。如果流已经位于末尾,则返回-1。
使用到TextReader.Read方法需要先实例化一个TextReader类的对象,常见的TextReader实例化有两种方式:StreamReader和StringReader。StreamReader从文件流中读取数据,StringReader则从字符串中读取数据。
下面是TextReader.Read方法的使用方法:
- 实例化StreamReader对象,打开文件并在其中读取数据:
using (StreamReader sr = new StreamReader("test.txt"))
{
int c = sr.Read(); // 读取一个字符
while (c != -1)
{
Console.Write((char)c); // 将字符输出到控制台
c = sr.Read(); // 继续读取下一个字符
}
}
上述代码中,使用StreamReader打开文件test.txt,并使用Read方法读取文件中的字符。循环体中将每一个读取到的字符输出到控制台,直到文件末尾。
- 实例化StringReader对象,读取字符串中的字母:
string s = "hello world";
using (StringReader sr = new StringReader(s))
{
int c = sr.Read();
while (c != -1)
{
Console.Write((char)c);
c = sr.Read();
}
}
上述代码中,使用StringReader读取字符串s中的字符。循环体中将每一个读取到的字符输出到控制台,直到字符串末尾。
需要注意的是,TextReader.Read方法每次只能读取一个字符。如果需要读取多个字符,可以改用TextReader.ReadLine,TextReader.ReadBlock等方法。
除了读取一个字符外,TextReader.Read方法还支持读取一段字符。可以使用相关的重载方法:
int Read(char[] buffer, int index, int count);
其中,buffer是读取一个字符存储的缓冲区,index是开始存储的位置,count是需要读取的字符个数。
需要注意的是,TextReader.Read方法会在读取一个字符时指针向后移动,因此需要在读取到需要的字符后及时停止。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# TextReader.Read – 读取一个字符 - Python技术站