特定句子后写入文件

时间:2015-09-17 19:18:43

标签: c# streamwriter

我想在查找特定句子后将一些数据添加到文本文件中,例如我想在查找This the place to write your sentence后添加一些字符串
我怎样才能做到这一点,我使用StreamWriter正确地写入文本文件。

任何人都可以给我一些代码或链接吗?

3 个答案:

答案 0 :(得分:4)

在文件中插入文本并不容易,因为您必须在插入点之后移动数据以为新文本腾出空间。 StreamWriter不支持该文件所需的文件操作。

简单的方法是将文件读入字符串,更改字符串然后将其写入文件:

string text = File.ReadAllText(fileName);
string insertPoint = "This the place to write your sentence";
int index = text.IndexOf(insertPoint) + insertPoint.Length;
text = text.Insert(index, "Text to insert");
File.WriteAllText(fileNAme, text);

答案 1 :(得分:0)

使用File.ReadAllLines将整个文本文件读入字符串。然后找到特定的句子“这个写你的句子的地方”使用方法String.IndexOf。获得索引后,您可以使用方法String.Insert添加所需的任何文本。最后使用File.WriteAllLines创建的新字符串覆盖现有文件。如果您愿意,也可以使用StreamWriter.WriteLine方法。

答案 2 :(得分:0)

这真的是关于System.IO.Stream(实现IDisposable,所以你应该在using语句中使用它),byte[](也就是缓冲区)和{{1或者更常用的System.Text.ASCIIEncoding.ASCII编码。

话虽如此,System.Text.UTF8encoding.UTF8上有静态方法可以使这个操作变得非常简单。

System.IO.File