使用streamreader char读取并输出文本文件
我想要做的是读取文件a.txt并输出单行中的每个字符我真的很难解决这个问题任何帮助将非常感激。如果你写的代码请评论,所以我可以理解更清楚,因为我是初学者。谢谢
namespace ConsoleApplication13 { class Program { static void Main(string[] args) { using (StreamReader r = new StreamReader("a.txt")) { string @char; while((@char = r.ReadBlock() != null)) foreach(char i in @char) { Console.WriteLine(i); } } } } }
我想读取文件并输出char的所有文件char,新行中的每个char
好; 有很多方法可以做到这一点; 最简单的是(对于小文件):
string body = File.ReadAllText("a.txt"); foreach (char c in body) Console.WriteLine(c);
要使用ReadBlock
以块(而不是行)处理文件:
using (StreamReader r = new StreamReader("a.txt")) { char[] buffer = new char[1024]; int read; while ((read = r.ReadBlock(buffer, 0, buffer.Length)) > 0) { for (int i = 0; i < read; i++) Console.WriteLine(buffer[i]); } }
这一次读取最多 1024个字符的块,然后写出我们读取的内容,每个字符在一个新行上。 变量read
告诉我们在迭代中读取了多少个字符; read > 0
测试(稍微隐藏,但它在那里)问“我们到达文件的末尾了吗?” - 因为ReadBlock
会返回0。