我正在開發一個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);
}
}
當我debuged我發現str1.BaseStream.Position
和str2.BaseStream.Position
在每一個循環相同的程序,所以不會有任何變化。
有沒有更好的方法?
感謝
謝謝,有什麼辦法與讀出整個文件做呢? – Arashdn 2013-03-27 11:29:15
@Arashdn:你嘗試過這種方式嗎?這種方式不讀取整個文件 – 2013-03-27 11:34:49
我使用舊版本的.net,它不包含File.ReadLines – Arashdn 2013-03-27 11:38:10