C# 写入文件把内存占光了,怎么解决呀,以下是代码

笨笨狮子 2012-06-05 08:51:26
FileStream fsapp1 = new FileStream("\\" + "uhhrl"+webhh+".txt", FileMode.Append, FileAccess.Write);
StreamWriter sw2 = new StreamWriter(fsapp1);
sw2.WriteLine(url + "\t");
sw2.Close();
fsapp1.Close();
Console.ReadLine();

url只是一句话,内容也不多。主要是写入次数太多,大该有7-8W次之间吧 多时有可能会到10-30W之间一直是一个循环。为什么刚开始写入时没问题,程序越跑越慢呢???
...全文
253 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
代码小天王 2012-06-05
  • 打赏
  • 举报
回复
正解[Quote=引用 3 楼 的回复:]

Close时已经释放所有资源了,我觉得不需要using。
可能是文件越来越大导致的越来越慢,你尝试不采用append的方式对比下,既每次都覆盖写文件。
[/Quote]
笨笨狮子 2012-06-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

Close时已经释放所有资源了,我觉得不需要using。
可能是文件越来越大导致的越来越慢,你尝试不采用append的方式对比下,既每次都覆盖写文件。
[/Quote]
有代码吗?不知道怎么搞???
gxingmin 2012-06-05
  • 打赏
  • 举报
回复
建议按4楼说的先拼好再写入,否则程序越来越慢事小,你这么频繁读写硬盘很容易坏的
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

Close时已经释放所有资源了,我觉得不需要using。
可能是文件越来越大导致的越来越慢,你尝试不采用append的方式对比下,既每次都覆盖写文件。
[/Quote]
认为这个比较靠谱
shiyuyao1987 2012-06-05
  • 打赏
  • 举报
回复
先把要写入的内容拼好,然后一次性写入文件
hard9999 2012-06-05
  • 打赏
  • 举报
回复
Close时已经释放所有资源了,我觉得不需要using。
可能是文件越来越大导致的越来越慢,你尝试不采用append的方式对比下,既每次都覆盖写文件。
  • 打赏
  • 举报
回复

using (StreamWriter sw = File.CreateText(FILE_NAME))
{
sw.WriteLine ("This is my file.");
sw.WriteLine ("I can write ints {0} or floats {1}, and so on.",
1, 4.2);
sw.Close();
}

CSDN复制过来的,这样写完会执行Dispose()。
zincy 2012-06-05
  • 打赏
  • 举报
回复
FileStream 你不要不停的开关,试试FileStream 不关闭,多次使用等不需要用了再Close。

而且你只是Close没有调用.Dispose();
honkerhero 2012-06-05
  • 打赏
  • 举报
回复
循环写就写, 不要写一句关一个流再打开

这样CPU弄着弄着就累了

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧