添加Environment.NewLine到FILESTREAM

问题描述:

我提出了一种.net控制台应用程序不和谐机器人,我挣扎着很大的时间和流作家,所以我想文件流,我没有,我与流作家同样的错误,但我有问题关添加一个新行,添加Environment.NewLine到FILESTREAM

string path = @"C:\PathWouldBeHere\Log.txt"; // path to file 

using (FileStream fs = File.Create(path)) 
{ 
    string dataasstring = $"[{DateTime.Now.Hour}:{DateTime.Now.Minute}][Log]{Context.User.Username}: {Context.Message.Content}"; //your data 
    byte[] info = new UTF8Encoding(true).GetBytes(dataasstring); 
    fs.Write(info, 0, info.Length); 
} 

现在我知道我可以使用Environment.NewLine,但我是一个完整的小白,而且不知道在哪里的代码,我应该把它。我知道这只是问了一点,但如果有人能够调整我的代码,而不是记录一件事情(删除以前的日志),它会添加一个换行符。

+0

请尝试'字符串dataasstring = $ “....”+ Environment.NewLine;' –

+0

string dataasstring = $“....”+ Environment.NewLine;这不起作用,遗憾的是仍然删除了其他行。 – michaelukz

+0

你是什么意思“删除另一行”?哪一条线? –

您正在使用File.Create,这在该位置创建一个新文件,并删除已存在有任何文件。你想,而不是什么是使用FileStream构造与FileMode.Append标志:

using (FileStream fs = new FileStream(path, FileMode.Append)) 
{ 
    string dataasstring = $"[{DateTime.Now.Hour}:{DateTime.Now.Minute}][Log]{Context.User.Username}: {Context.Message.Content}{Environment.NewLine}"; //your data 
    byte[] info = new UTF8Encoding(true).GetBytes(dataasstring); 
    fs.Write(info, 0, info.Length); 
} 

或者,你可以完全跳过流的方法,只是使用以下命令:

string dataasstring = $"[{DateTime.Now.Hour}:{DateTime.Now.Minute}][Log]{Context.User.Username}: {Context.Message.Content}{Environment.NewLine}"; 
File.AppendAllText(path, dataasstring); 
+0

谢谢!我用第一种方法,我不得不改变你做的一个小小的混乱,但这是一个简单的错误(你命名文件流的流,但仍然使用FS仍然xD)谢谢,但srsly! – michaelukz

+0

你有什么想法,为什么这不起作用? https://hastebin.com/odibuvaran.cs – michaelukz

+0

@michaelukz定义“不起作用”。 – Abion47