如何使streamwrite附加文本而不会创建新的文本文件?

时间:2014-01-02 06:01:16

标签: c# winforms

我有这段代码:

StreamWriter w = new StreamWriter(@"d:\points.txt");
            if (extendedPoints.Count == 85)
            {
                w.WriteLine("extendedPoints count = 85 , clouds count = 29 | extendedPoints count = 88 , clouds count = 30" + Environment.NewLine);
            }
            for (int i = 0; i < extendedPoints.Count; i++)
            {
                if (extendedPoints.Count == 85)
                {

                    w.WriteLine((i + 1) + ". " + extendedPoints[i].ToString());
                }
                else
                {
                    w.WriteLine("                                                " + (i + 1) + ". " + extendedPoints[i].ToString());
                }
            }
            w.Close();

如果计数为85,则第一次写入文本,如果不是85,则添加新文本。

这一行:

w.WriteLine("                                                " + (i + 1) + ". " + extendedPoints[i].ToString());

当它是85时,应该添加附加到其他文本。

编辑**

这是文本文件格式的示例:

extendedPoints count = 85 , clouds count = 29 | extendedPoints count = 88 , clouds count = 30

1. {X=181.8569, Y=172.4}                        1. {X=181.8569, Y=172.4}
2. {X=180.7902, Y=171.8667}                     2. {X=180.7902, Y=171.8667}
3. {X=181.3235, Y=172.1333}
4. {X=180.2569, Y=171.6}
5. {X=179.1902, Y=171.0667}
6. {X=179.7235, Y=171.3333}
7. {X=178.6569, Y=170.8}
8. {X=177.3235, Y=170.8}
9. {X=177.9902, Y=170.8}
10. {X=176.6569, Y=170.8}
11. {X=176.7902, Y=171.4667}
12. {X=176.9235, Y=172.1333}
13. {X=177.0569, Y=172.8}

左侧是count == 85时 在右侧,当它到达代码的ELSE部分时。

2 个答案:

答案 0 :(得分:0)

您可以使用字符串构造函数来创建此85个空格。

string spaces85 = new string(' ', 85);

w.WriteLine(string.Format("{0}{1}.{2}",new string(' ', 85),(i + 1), xtendedPoints[i] ) );  

答案 1 :(得分:0)

请尝试使用此功能:

StreamWriter w = new StreamWriter(@"d:\points.txt", true);