C#-如何将一组迭代文本行追加到特定行中的文本行?

时间:2018-11-02 02:11:47

标签: c# text file-io read-write

我需要将一组迭代文本行附加到一个已经存在的文本文件中。我该如何使用c#来实现它。

例如-

重复文本:

foreach (string toolName in value.Tools)
{
     sw.WriteLine("[\"at" + Count.ToString("D4") + "\"] = < ");
     sw.WriteLine("text = < \"" + toolName + "\" >");
     sw.WriteLine("description = <\" * \">");
     sw.WriteLine(">");
     Count++;
}

应将其附加到myTextFile.txt的第62行

2 个答案:

答案 0 :(得分:0)

如果我在这个问题的模棱两可之间理解您,也许您想要这样的事情

visibility

ReadAllLines(String)

  

打开一个文本文件,读取文件的所有行,然后关闭   文件。

List.Insert(Int32, T) Method

  

将元素插入到指定索引处的列表中。

WriteAllLines(String, IEnumerable)

  

创建一个新文件,将字符串集合写入该文件,然后   然后关闭文件。

答案 1 :(得分:0)

类似这样的事情。将所有内容添加到字符串列表中,然后输出到文件。

List<string> tools = new List<string>()
{
    "Hammer", "Wrench", "Screwdriver", "etc"
};

List<string> output = new List<string>();
int count = 1;
foreach ( string toolName in tools )
{
    if (output.Count ==  61)
    {
        output.Add ( "some string" );
        count++;
        continue;
    }
    output.Add ( "[\"at" + count.ToString ( "D4" ) + "\"] = < " );
    output.Add ( "[\"at" + count.ToString ( "D4" ) + "\"] = < " );
    output.Add ( "text = < \"" + toolName + "\" >" );
    output.Add ( "description = <\" * \">" );
    output.Add ( ">" );
    count++;
}

string path = @"C:\output.txt";
File.WriteAllLines ( path , output.ToArray ( ) );