我如何从文件中读取文本?

时间:2016-04-15 06:45:50

标签: c#

我有两个txt文件,我需要使用流阅读器,在一个txt中考虑文本,直到在其他txt中完成。这意味着如果第一个txt完成,但第二个txt没有完成,那么软件会再次继续第一个txt,直到第二个没有完成。

static void Main(string[] args)
    {
        StreamReader sr = new StreamReader(@"C:\Users\Wiz\Desktop\first part.txt");
        StreamReader sr1 = new StreamReader(@"C:\Users\Wiz\Desktop\second part.txt");

        string file, files1;

        while (true)
        {
            file = sr.ReadLine();
            if (file == null) break;
            files1 = sr1.ReadLine();
            if (files1 == null) break;

            Console.WriteLine(file + files1);
        }
        Console.ReadKey();
    }

2 个答案:

答案 0 :(得分:1)

我建议使用 Linq

// Since we should be ready to read/re-read the 1st file again and again
// Let´s materialize the file 
var file1 = File.ReadAllLines(@"C:\Users\Wiz\Desktop\first part.txt");

var target = File
  .ReadLines(@"C:\Users\Wiz\Desktop\second part.txt")
  .Select((line, index) => file1[index % file1.Length] + line);

Console.Write(String.Join(Environment.NewLine, target));

答案 1 :(得分:0)

因此我确信我的问题是正确的(你想先读取文件1的所有行,然后再开始阅读文件2)我建议使用:

file1 = sr.ReadAllText(@"C:\Users\Wiz\Desktop\first part.txt");
file2 = sr1.ReadAllText(@"C:\Users\Wiz\Desktop\second part.txt");
Console.WriteLine(file1 + file2);

文档:https://msdn.microsoft.com/de-de/library/ms143368%28v=vs.110%29.aspx