我试图从文本文件中加载一些东西,进行一些处理并将它们写入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();
}
答案 0 :(得分:4)
两个可能的问题:
第二个项目符号最好用using
语句处理:
using (TextWriter writer = File.CreateText(...))
{
// Code here
} // writer will automatically be disposed here
你也应该为读者做同样的事情。它在数据丢失方面不太重要,但一般来说,您应该处置任何实现IDisposable
的内容,通常是为了确保资源得到清理。