我有几行文件:
Lines1
Lines2
Lines3
....
LinesN
我有以下代码:
我的代码
while ((line = streamReader.ReadLine()) != null)
{
var str = GetData(line);
if(str == "Fatal Error")
{
}
}
在 GetData
期间,我可以抛出一些异常。在这种情况下,我想将剩余的行移动到另一个文件。我该怎么做?
我应该声明 positionCount 吗?还是有更聪明的方法?
您可以简单地从检测到错误的地方继续,即:
while ((line = streamReader.ReadLine()) != null)
{
var str = GetData(line);
if(str == "Fatal Error")
{
WriteRemainingLines(line, streamReader);
break;
}
}
line
参数将包含包含错误的行:
public void WriteRemainingLines(string line, streamReader reader)
{
using (var targetfile = ...)
{
do
{
targetfile.WriteLine(line);
}
while ((line = reader.ReadLine()) != null);
}
}