【问题标题】:C# Why is StreamWriter writing empty lines after each time it writes to the file?C#为什么StreamWriter每次写入文件后都会写空行?
【发布时间】:2018-04-18 03:54:19
【问题描述】:

我知道这是一个“第一天”的问题,但我仍然无法理解为什么我的 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();
        }
    }
}

【问题讨论】:

  • WriteLine 添加换行符。试试Write

标签: c# streamwriter


【解决方案1】:
sr.WriteLine(historyList+sr.NewLine+item);

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

【讨论】:

    【解决方案2】:

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

    您可以使用以下内容一步完成您想做的所有事情。如果输入路径文件不存在,它会创建一个新的,如果它已经存在,它只会追加你的新项目。

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

    }

    【讨论】:

    • 谢谢!我一定会记住这一点的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-24
    • 2020-11-17
    • 2014-05-16
    • 1970-01-01
    • 1970-01-01
    • 2011-10-29
    相关资源
    最近更新 更多