1.Windows 中的换行符"\r\n"
2.Unix/Linux 平台换行符是 "\n"。
3.MessageBox.Show() 的换行符为 "\n"
4.Console 的换行符为 "\n"
换行符还因平台差异而不同。
为保持平台的通用性,可以用系统默认换行符 System.Environment.NewLine。
以下是一段读取大文本内容的方式。
StreamReader sr = new StreamReader(path, Encoding.UTF8);
try
{
char[] charData = new char[N];
string info = string.Empty;
while (sr.Read(charData, 0, N) > 0)
{
string ti = new string(charData);
info +=ti;
var lines=info.Split(new string[] { System.Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
info=lines.LastOrDefault();
if (ti.EndsWith(System.Environment.NewLine))
{
info += System.Environment.NewLine;
}
for (long i = 0; i < lines.LongLength-1; i++)
{
int sli = lines[i].IndexOf(':');
if(cfile!=int.Parse(lines[i].Substring(0, sli)))
{
fline = 1;
cfile=int.Parse(lines[i].Substring(0, sli));
}
else
{
fline++;
cfile=int.Parse(lines[i].Substring(0, sli));
}
Console.WriteLine("==>文档信息:{0}.gz,第{1}个文件,地址信息:{2}", cfile, fline, lines[i].Substring(sli + 1, lines[i].Length - sli - 1));
}
}
Console.WriteLine(info);
sr.Close();
Console.ReadKey();
}
catch (Exception)
{
throw;
}
finally
{
sr.Close();
}