将标题附加到文本文件

时间:2013-12-26 19:38:41

标签: c# .net io

我需要使用此函数向文本文件添加标题:

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”放在文本文件的顶部,而不覆盖那里的文本。我需要在上面的函数中实现代码

请记住,我只想写一次标题。我正在使用此函数迭代多个文本文件并附加到一个新的文本文件,但只需要一次写入标题,而不是每次打开文本文件进行解析。

2 个答案:

答案 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());