StreamWriter反复实化例化输出效率低下,我这代码应如何提高效率?
我下面是用了while动态取得内容,再StreamWriter输出写文件,但是我发现在 while里面不断重复实例化StreamWriter时,效率会变得很低,很耗资源,请问如何将 StreamWriter实例化移到 while 的外面来?或者有没有更高效的写法?谢谢大家
while (Dr.Read())
{
......
//生成 动态文件名 和 内容
......
StreamWriter sw = new StreamWriter("文件名", true, );
sw.Write("内容");
sw.Flush();
sw.Close();
}
分数不多,全部奉上,谢谢大家帮忙。
------解决方案--------------------using(StreamWriter sw = new StreamWriter("文件名", true, ))
{
while (Dr.Read())
{
sw.Write("内容");
}
}
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/
------解决方案--------------------先存下来,一次性写入
Dictionary<string,StringBuilder> dict= new Dictionary<string,StringBuilder>();
while (Dr.Read())
{
if(!dict.ContainsKey("文件名"))
{
dict.Add("文件名",new StringBuilder());
}
dict["文件名"].AppendLine("内容");
}
foreach(var kvp in dict)
{
using(StreamWriter sw = new StreamWriter(kvp.Key, true, ))
{
sw.Write(kvp.Value。ToString());
}
------解决方案--------------------每次写的都是单独的文件名,这效率问题似乎不在 StreamWriter 上吧。
------解决方案--------------------
异步 多线程。