我知道这是一个“第一天”的问题,但我仍然无法理解为什么我的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();
}
}
}
答案 0 :(得分:2)
sr.WriteLine(historyList+sr.NewLine+item);
.WriteLine()
方法在传递给它的内容之后放置行尾字符。如果您不想要该角色,只需使用.Write()
。
答案 1 :(得分:2)
看起来您想要做的就是将文本附加到文件中,因此实际上无需打开流读取器来读取现有内容,然后将其与新内容一起写回来。
您可以使用以下内容在一个步骤中执行所需操作。如果输入路径文件不存在,它将创建一个新文件,如果它已经存在,它只会附加你的新项目。
namespace PostFinder
{
class HistorySaver
{
public static void Save(string item, string path)
{
File.AppendAllText(path, item + Environment.NewLine);
}
}
}