zoukankan      html  css  js  c++  java
  • 任何的File.ReadAllText()和使用StreamReader读取文件内容之间的差异?


    6向下投票最喜爱的

     

     

    起初,我用了从文件中读取文本的StreamReader

    读卡器 新 的StreamReader 对话框。使用OpenFile ())
    txtEditor 文本 阅读器。ReadToEnd ();

    但发现有关File.ReadAllText这似乎简化我的代码,以1号线。但我想,如果有2之间的任何分歧?或什么时候我应该比其他使用1

    txtEditor 文本  文件。ReadAllText (对话。的FileName ;

     


    3投票接受

    有没有差异,如果你正在使用ReadToEnd()方法。不同的是,如果你不加载到内存中整个文件,而是让你来处理块中使用大文件的ReadLine()方法。

    因此,使用File.ReadAllText(),而不是ReadToEnd() ,因为它使你的代码更短,更可读。它也需要照顾,妥善处置资源,因为你可能会忘记做的StreamReader(正如你在你的片段)。

     

    最多投票1下投票

    如果您使用的ReadToEnd,他们是相同的。否则,使用StreamReader的,让你一次读取的字节,与他们做一些计算,然后把它们扔掉需要。例如,如果你有一个文件,包含一个2000号码的列表,你想加在一起,你可以:

    • 呼叫File.ReadAllText读入一个字符串的所有内容,然后通过这个字符串解析计算总和。
    • 或者你可以创建一个StreamReader一次读取几个字节,计算的金额,当您去。

    这两种方法之间的主要区别是短暂的内存使用。的款项后,你有,你可以随时离开扔掉了所有的中间数据。在File.ReadAllText方法,在某些时候,你有整个文件内容在内存中,而与StreamReader方法,你只有几个字节,在任何一个时间价值在内存中的文件内容。这可能是一个问题,根据文件的大小和计算,你做。

    File.ReadAllText是方便快捷。 StreamReader是强大的,但更多的工作。

     

    如果这篇文章对您有帮助,您可以打赏我

    技术交流QQ群:15129679

  • 相关阅读:
    SonarQube 插件之 Issues Report & SonarLint 的配置及使用
    Docker搭建自己的Gitlab CI Runner
    Nexus OSS 3 搭建并配置使用 Docker & Git LFS 仓库
    js字符串去掉回车和空格
    使用QtCreator来进行UML建模
    Qt字符串转二维码字符串
    C++10进制转16进制字符串互转
    Qt设置控件透明度
    Qt在槽函数里判断是哪个对象触发的信号
    Qt求极值
  • 原文地址:https://www.cnblogs.com/yeminglong/p/2567246.html
Copyright © 2011-2022 走看看