【问题标题】:Read only the first few lines of text from a file只读取文件的前几行文本
【发布时间】:2012-02-24 23:54:29
【问题描述】:

如何只读取程序保存的文件的前两行? (它们代表用户名和密码。)

【问题讨论】:

  • 调用 ReadLine 两次。并找到更好的机制来存储用户名和密码。

标签: c#


【解决方案1】:

使用System.IO.StreamReader

string line1, line2;

using (StreamReader reader = new StreamReader("myFile.txt")) {
    line1 = reader.ReadLine();
    line2 = reader.ReadLine();
}

或者,对于现代的东西:

var lines = File.ReadLines("myFile.txt").Take(2).ToArray();

【讨论】:

  • 您的代码不处理文件为 0 或 1 行的情况(异常处理)。第二条语句对于大文件非常无效,因为它读取所有行,并分配和不必要的数组
  • @karim: a) 在我看来,异常处理与这个答案无关。 b) 不,它没有。你可能会想到ReadAllLinesReadLines 是一个可按需读取行的枚举。
  • 我看错了ReadLines,谢谢(在很多情况下,为2行分配一个数组是多余的)至于例外,让OP决定,至少已经注意到了。
【解决方案2】:

为此使用StreamReader.ReadLine()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-23
    • 1970-01-01
    • 1970-01-01
    • 2012-03-23
    • 1970-01-01
    相关资源
    最近更新 更多