3

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

                }

            }

        }
    }
}
4

1 回答 1

9

我想读取文件并按字符输出所有文件字符,每个字符都在新行中

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

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。

于 2012-08-16T10:44:51.780 回答