我有两个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();
}
答案 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