我需要使用此函数向文本文件添加标题:
private static void WriteFile(string fileToRead, string fileToWrite, string mySearchString)
{
using (var sr = new StreamReader(fileToRead))
using (var sw = new StreamWriter(fileToWrite, true))
{
var count = 1;
while (sr.Peek() != -1)
{
var line = sr.ReadLine();
/* if (count == 3)
{
sw.WriteLine(line);
} */
if (count > 4)
{
if (line != null && line.Contains(mySearchString))
{
sw.WriteLine(line);
}
}
count++;
}
例如:将字符串“blah blah blah”放在文本文件的顶部,而不覆盖那里的文本。我需要在上面的函数中实现代码
请记住,我只想写一次标题。我正在使用此函数迭代多个文本文件并附加到一个新的文本文件,但只需要一次写入标题,而不是每次打开文本文件进行解析。
答案 0 :(得分:3)
您的代码应如下所示:
using (var sr = new StreamReader(fileToRead))
using (var sw = new StreamWriter(fileToWrite, true))
{
if (sw.BaseStream.Position == 0)
sw.WriteLine("bla bla..."); // Only write header in a new empty file.
var count = 1;
祝你好运。
答案 1 :(得分:0)
你可以尝试这样的事情:
StringBuilder sb = new StringBuilder(File.ReadAllText(fileToWrite));
sb.Insert(0, line);
sw.Write(sb.ToString());