C# 向SPFile对象添加一行

C# 向SPFile对象添加一行,c#,file,sharepoint,C#,File,Sharepoint,我只想在SPFile对象中添加一行,这是一个简单的txt文件 有没有一个简单的方法可以做到这一点?我在想 谢谢 编辑:这就是我目前的情况: public static void addLine(SPFile file, string line) { using(System.IO.StreamWriter strWriter = new System.IO.StreamWriter(file.OpenBinaryStream())){ st

我只想在SPFile对象中添加一行,这是一个简单的txt文件

有没有一个简单的方法可以做到这一点?我在想

谢谢

编辑:这就是我目前的情况:

    public static void addLine(SPFile file, string line)
    {
        using(System.IO.StreamWriter strWriter = new System.IO.StreamWriter(file.OpenBinaryStream())){
            strWriter.WriteLine(line);
        }

    }
我这里没有任何错误,但是文件没有保存。我试着做一些类似的事情:

 file.SaveBinary( args )
但我不知道该在args中输入什么

如果你能帮助我。 谢谢

您需要一个读/写工具。TextReader在结果流上创建的一些字符串操作与TextWriter类似,并使用TextWriter将结果数据写入MemoryStream

警告:下面是未编译的代码:

using (var readStream = file.OpenBinaryStream())
{ 
  using(var reader = new StreamReader(readStream)
  {
    var allText = reader.ReadToEnd();
    var writeStream = new MemoryStream();
    using(var writer = new TextWriter(writeStream))
    {
      writer.Write(allText);
      writer.Write(extraText);
    }
    file.SaveBinary(writeStream.ToArray();
  }
}
你需要,其中一个来读/写。TextReader在结果流上创建的一些字符串操作与TextWriter类似,并使用TextWriter将结果数据写入MemoryStream

警告:下面是未编译的代码:

using (var readStream = file.OpenBinaryStream())
{ 
  using(var reader = new StreamReader(readStream)
  {
    var allText = reader.ReadToEnd();
    var writeStream = new MemoryStream();
    using(var writer = new TextWriter(writeStream))
    {
      writer.Write(allText);
      writer.Write(extraText);
    }
    file.SaveBinary(writeStream.ToArray();
  }
}

你现在有什么需要简化的?很难判断什么是简单的,什么不是没有基线的…嘿,我已经编辑了我的帖子。这就是我目前所拥有的。谢谢你的帮助,你写的是只读流,没有任何意义。我的答案中增加了近似样本。你们现在有什么需要简化的?很难判断什么是简单的,什么不是没有基线的…嘿,我已经编辑了我的帖子。这就是我目前所拥有的。谢谢你的帮助,你写的是只读流,没有任何意义。近似示例添加到我的答案中。嘿,谢谢,我找到了一种方法,但我没有使用太多,我想您的解决方案更好,因为它正确地关闭了流对象:)。谢谢,嘿,谢谢,我找到了一种方法,但是我没有使用太多的using,我想你的解决方案更好,因为它正确地关闭了流对象:)。谢谢你