テキストファイルから1行を読み取り、最初の行に戻る必要があるC#アプリケーションを開発しています。
ファイルサイズが大きすぎる可能性があるため、配列にコピーできません。
このコードを試しました
StreamReader str1 = new StreamReader(@"c:\file1.txt");
StreamReader str2 = new StreamReader(@"c:\file2.txt");
int a, b;
long pos1, pos2;
while (!str1.EndOfStream && !str2.EndOfStream)
{
pos1 = str1.BaseStream.Position;
pos2 = str2.BaseStream.Position;
a = Int32.Parse(str1.ReadLine());
b = Int32.Parse(str2.ReadLine());
if (a <= b)
{
Console.WriteLine("File1 ---> " + a.ToString());
str2.BaseStream.Seek(pos2, SeekOrigin.Begin);
}
else
{
Console.WriteLine("File2 ---> " + b.ToString());
str1.BaseStream.Seek(pos1, SeekOrigin.Begin);
}
}
私が見つけたプログラムをデバッグしたときstr1.BaseStream.Position
、str2.BaseStream.Position
すべてのループで同じなので、何も変わりません。
もっと良い方法はありますか?
ありがとう