vb.net不关闭txt持续写入文件怎么做?
vb.net吧
全部回复
仅看楼主
level 3
hehfuheh 楼主
如题,vb.net 创建txt文本后要向里面写文件,能不能写完后不close,保持打开,一直不断的往里写。
因为写入的频率很高,持续时间比较长,不断打开关闭会不会效率很低,有没有其他方法解决这样的问题,谢谢各位高人。
If work_times = 0 Then
Dim sw As New System.IO.StreamWriter(strFileName, True)
sw.WriteLine(temp_str)
Else
sw.WriteLine(temp_str)
End If
work_times +=1
2015年03月27日 08点03分 1
level 10
用个字符串存着,字符串长了就写入txt。字符串清空。这种想法叫:缓存[也不行]
2015年03月27日 08点03分 2
也是个办法
2015年03月27日 08点03分
@hehfuheh 这是最简单 经济的解决方法了[滑稽]
2015年03月27日 09点03分
@ztw1122 谢谢啦
2015年03月27日 09点03分
[大拇指]
2015年03月28日 06点03分
level 12
简直不知道你在说什么
filestream并没有什么“写完就自动关闭”的特性,本来就是你想关就关,不想关就不关
2015年03月27日 15点03分 3
多谢,按照上面有人提的把sw声明成全局的,上面代码中不添加sw.close是不是txt文件一直都被打开着?
2015年03月28日 08点03分
level 13
弄成类级别的,SuppressFinalize,然后用完自行Dispose
2015年03月28日 03点03分 4
谢谢啦
2015年03月28日 08点03分
level 9
3楼说得对。哪有什么写完就关闭?
2015年03月28日 07点03分 5
谢谢啦,我以为必须结尾得有sw.close
2015年03月28日 08点03分
level 8
AutoFlush选项最好不要打开,如果是大量快速写入的话
建议用了一堆writeline()以后
flush()一下
可以有效降低CPU占用率
2015年03月28日 12点03分 6
小心溢出。缓冲区默认才4kb。 --来自相机+平板电脑+手机融合成的的Lumia 1520
2015年04月19日 03点04分
我认为此楼是正解。
2015年04月25日 14点04分
回复 jimmyfluore :谢谢啦
2015年04月25日 14点04分
@jimmyfluore thankyou
2015年04月25日 14点04分
level 2
如果你不关闭,界面上有人再次执行这段程序的时候,会提示这个文件正在被使用。。。
2015年04月11日 15点04分 7
这楼说的也很正确。
2015年04月25日 14点04分
level 10
mssql 的存储过程 就在内存的
2015年05月13日 13点05分 8
level 10
适用频繁读写 每写一次就加条记录 用的时候 合并读出显示或另存
2015年05月13日 13点05分 9
level 10
记录可以带上时间字段 就可以 按 年月日 生成数据
2015年05月13日 13点05分 10
1