C#写入文件问题

时间:2011-02-10 13:22:30

标签: c# text

我试图从文本文件中加载一些东西,进行一些处理并将它们写入C#中的新文本文件。

请查看下面的代码:

一切似乎工作正常,我可以加载东西,编辑它们并将它们保存到文本文件中。然而,在保存它们的过程中,它只是因为某种原因停止将它们保存到文本文件中,while循环运行,我可以知道这一点,因为我也在控制台中记录东西,一切都很好。但在某些点之后(如80行或其他东西),它只是停止将新行添加到文件中。

有什么想法吗?

提前致谢

        StreamReader SR;
        StreamWriter SW;
        string S;
        double temp1;
        double temp2;

        SR = File.OpenText("C:\...Address");
        SW = File.CreateText("C:\...Address");            

        S = SR.ReadLine();

        while (S!=null)
        {

            string[] words = S.Split(' ');

            //editing stuff

            SW.WriteLine("{0} {1} {2}", temp1, temp2, words[2]);
            Console.WriteLine("{0} {1} {2}", temp1, temp2, words[2]);
            S= SR.ReadLine();
        }

1 个答案:

答案 0 :(得分:4)

两个可能的问题:

  • 目前尚不清楚是否涉及一个文件或两个文件。你会发现从你正在写的同一个文件中读取它很棘手
  • 你没有关闭作家,这意味着它不会被刷新。这可能是问题 - 它肯定会解释症状。

第二个项目符号最好用using语句处理:

using (TextWriter writer = File.CreateText(...))
{
    // Code here
} // writer will automatically be disposed here

你也应该为读者做同样的事情。它在数据丢失方面不太重要,但一般来说,您应该处置任何实现IDisposable的内容,通常是为了确保资源得到清理。