我需要能够随身携带未知编码的文本文件(例如,UTF-8,UTF-16,......)和逐行复制,提出具体的修改,我去。 在这个例子中,我改变了编码,但也有其他用途这种处理。
我无法弄清楚是如何确定的最后一行有一行! 某些程序在乎这些记录的文件之间的差异:
Rec1<newline>
Rec2<newline>
并与这些文件:
Rec1<newline>
Rec2
我怎样才能看出其中的差别在我的代码,这样我可以采取适当的行动?
using (StreamReader reader = new StreamReader(sourcePath))
using (StreamWriter writer = new StreamWriter(destinationPath, false, outputEncoding))
{
bool isFirstLine = true;
while (!reader.EndOfStream)
{
string line = reader.ReadLine();
if (isFirstLine)
{
writer.Write(line);
isFirstLine = false;
}
else
{
writer.Write("\r\n" + line);
}
}
//if (LastLineHasNewline)
//{
// writer.Write("\n");
//}
writer.Flush();
}
注释掉的代码是什么,我希望能够做的,但我无法弄清楚如何设置条件lastInputLineHadNewline! 请记住,我没有输入文件编码的先验知识。