日期:2014-05-17  浏览次数:20779 次

问一个关于连续写文件的问题
如果我程序里面需要不断的向某个文件写入内容,下面两种方法该用哪种?

1.每次写的时候用 using (StreamWriter sw = new StreamWriter(“......”))

2.创建一个全局变量sw,然后每次写的时候直接用sw.writeline()

如果用第二个方法,因为程序运行期间,文件一直打开着,会影响其他人或进程为文件的访问么?

------解决方案--------------------
应该不会吧···
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

我测试了,第二种确实不会,但总觉着不好

要看你的写入时间
如果你的写入 是一直没有空闲的 就是在不断的写入就用第一个
如果是间断性的写入 那么 也用第一个 写一次创建一个 释放一个


我测试了下,在持续写入过程中,我看文件的大小一直是0,然后打开看里面可以看到内容。貌似内容一直在内存里面,只有等sw.close()之后,好像才会真正的写入到文件

是的 有一个缓冲区 如果你写入的东西过多 他会自动清除缓存 写入到硬盘 提高效率


嗯。我确实是写的txt文件。
还有就是我现在是要同时开启64个线程单独测试,然后每个线程都要写自己的单独文件,这样就相当于开启了64个全局变量SW 。。。 不知道有没有其他什么好的办法

都一样吧 这个就是体力活。。。。。