我如何在C#中使用.NET的StreamWriter获得最佳性能?
发布时间:2020-12-15 18:03:12 所属栏目:百科 来源:网络整理
导读:当我们需要创建大于10 MB的文本文件时,建议什么方法可以获得最佳性能? 代码中有多个部分需要将内容写入单个文件.这意味着很多文本行. 选项#1(此逻辑将多次调用): 创建StreamWriter实例 写一些行(根据一些业务逻辑) 关闭StreamWriter实例 选项#2: 在程序开
当我们需要创建大于10 MB的文本文件时,建议什么方法可以获得最佳性能?
代码中有多个部分需要将内容写入单个文件.这意味着很多文本行. 选项#1(此逻辑将多次调用): >创建StreamWriter实例 选项#2: >在程序开始时创建一个StreamWriter 选项#3:还有其他吗? 请记住,输出文件可能大于10 MB. 解决方法
单独打开一个编写器比重复打开和关闭它更有效.但是,如果这是关键数据,则应在每次写入后调用Flush()以确保它到达磁盘.
你的程序是多线程的吗?如果是这样,您可能希望拥有一个生产者/消费者队列 – 让一个线程获取要从队列中写入的项目并写入它们,然后其他线程可以自由地将项目放在队列中. 你确定你确实遇到了性能问题吗?现在10MB非常小……在我的上网本上,写入10MB还需要大约一两秒钟(不,这不是固态驱动器). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |