繁体   English   中英

C# 为什么 StreamWriter 在每次写入文件后都写空行?

[英]C# Why is StreamWriter writing empty lines after each time it writes to the file?

我知道这是一个“第一天”的问题,但我仍然无法理解为什么我的 Stream 编写器每次写入后都写空行

namespace PostFinder
{
    class HistorySaver
    {
        public static void Save(string item, string path)
        {
            StreamReader sre = new StreamReader(path);
            string historyList = sre.ReadToEnd();
            sre.Dispose();
            StreamWriter sr = new StreamWriter(path);
            sr.WriteLine(historyList+sr.NewLine+item);
            sr.Dispose();
        }
    }
}
sr.WriteLine(historyList+sr.NewLine+item);

.WriteLine()方法在您传递给它的内容之后放置一个行尾字符。 如果您不想要该字符,请使用.Write()

看起来您想要做的就是将文本附加到文件中,因此实际上没有必要打开流读取器来读取现有内容,然后将它们与新内容一起写回。

您可以使用以下步骤一步完成您想要的一切。 如果输入路径文件不存在,它将创建一个新文件,如果它已经存在,它只会附加您的新项目。

namespace PostFinder
{
    class HistorySaver
{
    public static void Save(string item, string path)
    {
        File.AppendAllText(path, item + Environment.NewLine);
    }
}

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM