例如,我要合并3个文件,但最终文件之间没有换行符...

MemoryStream m = new MemoryStream();
File.OpenRead("c:\file1.txt").CopyTo(m);
File.OpenRead("c:\file2.txt").CopyTo(m);
File.OpenRead("c:\file3.txt").CopyTo(m);
m.Position = 0;
Console.WriteLine(new StreamReader(m).ReadToEnd());


我怎样才能在存储流中添加换行符?

最佳答案

快速又肮脏:

MemoryStream m = new MemoryStream();
File.OpenRead("c:\file1.txt").CopyTo(m);
m.WriteByte(0x0A);                // this is the ASCII code for \n line feed
                                  // You might want or need \n\r in which case you'd
                                  // need to write 0x0D as well.
File.OpenRead("c:\file2.txt").CopyTo(m);
m.WriteByte(0x0A);
File.OpenRead("c:\file3.txt").CopyTo(m);
m.Position = 0;
Console.WriteLine(new StreamReader(m).ReadToEnd());


但是正如@usr指出的,您确实应该考虑编码。

关于c# - C#如何向内存流添加换行符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35870499/

10-13 07:46