使用streamreader char读取并输出文本文件

Gee*_*eek 3 c#

我想要做的是读取文件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);

                }

            }

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Mar*_*ell 9

我想读取文件并输出char中的所有文件char,新行中的每个char

好; 有很多方法可以做到这一点; 最简单的是(对于小文件):

string body = File.ReadAllText("a.txt");
foreach (char c in body) Console.WriteLine(c);
Run Code Online (Sandbox Code Playgroud)

要用于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]);
    }
}
Run Code Online (Sandbox Code Playgroud)

这一次读取最多 1024个字符的块,然后写出我们读取的内容,每个字符在一个新行上.变量read告诉我们在迭代中读取了多少个字符; 该read > 0测试(略隐藏的,但它的存在)问:"有我们到达了文件的结尾?" - 最后ReadBlock会返回0.