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

时间:2012-08-16 10:34:59

标签: 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);

                }

            }

        }
    }
}

1 个答案:

答案 0 :(得分:8)

  

我想读取文件并输出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测试(稍微隐藏,但它在那里)询问&#34;我们到达文件的末尾了吗?&#34; - 因为ReadBlock将在结尾返回0。