C# 在C中追加文本#

C# 在C中追加文本#,c#,.net,windows,C#,.net,Windows,将方法更改为AppendText时,例如writeout.AppendText(第一行),我得到的StreamWriter不支持 StreamWriter writeout = new StreamWriter(path); writeout.WriteLine(firstline); writeout.Close(); 与其覆盖文本文件中的现有数据,我希望writeout将“firstline”附加到文件中您可以使用StreamWriter构造函数的第二个参数

将方法更改为AppendText时,例如writeout.AppendText(第一行),我得到的StreamWriter不支持

StreamWriter writeout = new StreamWriter(path);
        writeout.WriteLine(firstline);
        writeout.Close();

与其覆盖文本文件中的现有数据,我希望writeout将“firstline”附加到文件中

您可以使用StreamWriter构造函数的第二个参数。

StreamWriter writeout=新的StreamWriter(路径,true)

使用构造函数
StreamWriter writeout=newstreamwriter(路径,true)

通过将StreamWriter.BaseStream.Position设置为流的结尾,首先查找流的结尾,然后继续正常运行。

更改
StreamWriter writeout=new StreamWriter(路径)
to
StreamWriter writeout=newstreamwriter(路径,true)

或者,您可以使用
File.AppendText
,例如
StreamWriter writeout=File.AppendText(path)


甚至只需
文件.AppendAllText
,例如
文件.AppendAllText(路径,第一行)

使用一个附加的布尔参数创建StreamWriter,该参数指定是否附加到现有文件:

StreamWriter writeout = new StreamWriter(path, true);

您应该使用显式选项创建StreamWriter,以便能够附加到文件中。否则,它将始终创建一个新的。尝试调用Append时,如果StreamWriter不是为Append而创建的,则会出现您描述的错误

我不完全确定,但我认为你可以做到:

StreamWriter writeout=新的StreamWriter(路径,true)

为StreamWriter提供附加功能

希望这有帮助。

用这个怎么样

var lines = new List<string>();
// load lines
System.IO.File.AppendAllLines(path, lines);
var行=新列表();
//载重线
System.IO.File.AppendAllLines(路径,行);

设置为true时,布尔第二个参数
会追加
。这如何包含额外的参数?只需复制、粘贴、忘记添加参数,然后编辑答案;-)我也这么想,只是想我会告诉你,谢谢,但是你能详细说明一下这到底是怎么回事吗?@Michael Skelton-如果它是
真的
,它会附加到文件中。每个人的回答都很相似,因为这个问题很简单。我想知道你会确认哪一个答案:)
var lines = new List<string>();
// load lines
System.IO.File.AppendAllLines(path, lines);
try
{
    StringBuilder sb = new StringBuilder();
    StreamReader sr = new StreamReader(Path);
    sb.AppendLine(sr.ReadToEnd());
    sb.AppendLine("= = = = = =");
    sb.AppendLine(fileName + " ::::: " + time);
    sr.Dispose();
    if (sw == null)
    {
        sw = new StreamWriter(Path);
    }
    sw.Write(sb.ToString());
    sw.Dispose();

}
catch (Exception e)
{
}