微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我如何在C#中使用.NET的StreamWriter获得最佳性能?

当我们需要创建大于10 MB的文本文件时,建议什么方法可以获得最佳性能

代码中有多个部分需要将内容写入单个文件.这意味着很多文本行.

选项#1(此逻辑将多次调用):

>创建StreamWriter实例
>写一些行(根据一些业务逻辑)
>关闭StreamWriter实例

选项#2:

>在程序开始时创建一个StreamWriter
>编写代码的不同部分的所有行.
>如果不需要写任何其他内容,请在最后关闭StreamWriter.

选项#3:还有其他吗?

请记住,输出文件可能大于10 MB.

解决方法

单独打开一个编写器比重复打开和关闭它更有效.但是,如果这是关键数据,则应在每次写入后调用Flush()以确保它到达磁盘.

你的程序是多线程的吗?如果是这样,您可能希望拥有一个生产者/消费者队列 – 让一个线程获取要从队列中写入的项目并写入它们,然后其他线程可以自由地将项目放在队列中.

你确定你确实遇到了性能问题吗?现在10MB非常小……在我的上网本上,写入10MB还需要大约一两秒钟(不,这不是固态驱动器).

原文地址:https://www.jb51.cc/csharp/97380.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐