Sno*_*all 6 c# limit streamwriter text-files
我有一个包含100行的数组列表.当我尝试将其导出到文本文件(txt)时,输出只有84行,它停在第84行的中间.当我查看文件大小时,它显示了非常清晰的4.00KB,好像对流编写器有某种限制.我尝试使用不同的参数等,但它一直在发生.
这是代码:
FileStream fs = new FileStream(path, FileMode.Create);
StreamWriter sw = new StreamWriter(fs);
ArrayList chartList = GetChart(maintNode);
foreach (var line in chartList)
{
sw.WriteLine(line);
}
fs.Close();
Console.WriteLine("Done");
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助!
您需要调用StreamWriter.Flush或设置StreamWriter.AutoFlush为true.也就是说,如果你使用using法令,一切都应该正常.
using(StreamWriter sw = new StreamWriter(fs))
{
ArrayList chartList = GetChart(maintNode);
foreach (var line in chartList)
{
sw.WriteLine(line);
}
}
Run Code Online (Sandbox Code Playgroud)
使用语句调用Dispose将缓冲区刷新到FileStream并关闭文件流.所以你不需要手动关闭它.
然后我建议List<T>结束ArrayList.ArrayList不应该使用它,它不是类型安全的,如果你在.Net2.0或更高版本,应该避免.
还要考虑使用File.WriteAllLines方法,这样就不需要这么多行代码了.一切都由WriteAllLines方法本身管理.
| 归档时间: |
|
| 查看次数: |
6843 次 |
| 最近记录: |