写入文件流时向字节序列添加换行符

Adding newline to byte sequence when writing to filestream

我正在尝试在写入 FileStream 时添加 Newline,似乎即使我尝试:
\r\n
\r\n
System.Environment.Newline
结果文件不会添加 newlines.It 只会添加字符:

public static NewLine=>System.Environment.Newline;

 string header = $"Client:{index}{Newline}Date:{DateTime.Now.ToString()}{Newline}\r\nData:{Newline}";
 using (FileStream stream = new FileStream(filePath, FileMode.OpenOrCreate,FileAccess.ReadWrite, FileShare.ReadWrite))   
 {
    await stream.WriteAsync(header.ToMemory());

    ReadOnlyMemory<byte> memory = Enumerable.Aggregate(
                                    responses,
                                    string.Empty,
                                    (acc, src) => acc + Newline + src.ToString()).ToMemory();
    await stream.WriteAsync(memory);
 }

在我们的例子中 NewLineSystem.Environment.Newline,但我已经尝试了上述所有组合,文件的输出是:

"Client:0\r\nDate:23.08.2018 21:56:04\r\n\r\nData:\r\n""\r\n00:00:00.3222976"510"

我想要

 Client:0
 Date:23.08.2018 
 Data:  --data should start from below
 00:00:00.3222976 510
 .........

内存

 public static ReadOnlyMemory<byte> ToMemory(this object obj)
        {
            string dataString = JsonConvert.SerializeObject(obj);
            ReadOnlyMemory<byte> dataBytes = Encoding.UTF8.GetBytes(dataString);
            return dataBytes;
        }

您将一个字符串传递给 ToMemory,后者会将其转换为 JSON。 JSON 序列化程序然后正确地转义换行符。

修复似乎只是不编码为 JSON。直接将字符串写入流。