关于TextReader
TextStream是读取字符串的类
peek()方法,返回下一字符的ASCII码,如果已经是最后一个字符,那返回-1表示已经到末尾
注意:此方法是查询下一个字符串,但位置不会移动到下一个字符串,也就是说指针依然指向的是原来的字符
read()方法,返回下一字符串的ASCII码,但位置会移动到下一个字符串,也就是说指针指向下一个字符串
举例:
1 string test='abcdefg'; 2 //此例是一个死循环,为什么呢? 3 //因为Peek()方法是返回下一个字符,但当前位置不会移动下一个字符 4 using(TextReader reader=new StreamReader(test)) 5 { 6 while(reader.peek()!=-1) 7 { 8 //peek()返回的是ASCII码,所以需要转换成char 9 Console.Write("peek:{0}",(char)reader.peek()); 10 } 11 reader.close() 12 } 13 14 15 //此方法会读出所有的字符 16 using(TextReader reader=new StreamReader(test)) 17 { 18 //首先Reader位置是在第一个位置 19 Console.WriteLine("Peek = {0}", (char)reader.Read()); 20 while(reader.reader()!=-1) 21 { 22 //peek()返回的是ASCII码,所以需要转换成char 23 Console.Write("peek:{0}",(char)reader.reader()); 24 } 25 reader.close() 26 }