System.IO.File.ReadLines 方法 (String, Encoding)

方法描述

读取具有指定编码的文件的文本行。

语法定义(C# System.IO.File.ReadLines 方法 (String, Encoding) 的用法)

public static IEnumerable ReadLines(
	string path,
	Encoding encoding
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
path System-String 要读取的文件。
encoding System-Text-Encoding 应用到文件内容的编码。
返回值 System.Collections.Generic.IEnumerable 该文件的所有行或查询所示的行。

提示和注释

使用此方法指定要用来读取文件的编码。

ReadLines 与 ReadAllLines 方法有如下不同:当使用 ReadLines 时,您可以在返回整个集合之前开始枚举字符串的集合。 使用 ReadAllLines 时,必须等待整个字符串数组返回后才能访问该数组。 因此,在处理非常大的文件时,ReadLines 可能更高效。

您可以使用 ReadLines 方法执行以下操作:

对文件执行 LINQ to Objects 查询以获取筛选过的行集。

使用 File.WriteAllLines(String, IEnumerable, Encoding) 方法将返回的行集合写入文件,使用 File.AppendAllLines(String, IEnumerable, Encoding) 方法将它们追加到现有文件。

创建集合立即被填充的实例,该集合采用其构造函数的 IEnumerable 集合,例如 IList 或 Queue

System.IO.File.ReadLines 方法 (String, Encoding)例子


异常

异常 异常描述
ArgumentException path 是一个零长度字符串,仅包含空白或者包含 GetInvalidPathChars 方法中已定义一个或多个无效字符。
ArgumentNullException path 为 null。
DirectoryNotFoundException path 无效(例如,在未映射的驱动器上)。
FileNotFoundException 未找 path 中指定的文件。
IOException 打开文件时发生了 I/O 错误。
PathTooLongException path 超过了系统定义的最大长度。 例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260 个字符。
SecurityException 调用方没有所要求的权限。
UnauthorizedAccessException
  • path 指定了一个只读文件。
  • 在当前平台上不支持此操作。
  • path 是一个目录。
  • 调用方没有所要求的权限。

命名空间

namespace: System.IO

程序集: mscorlib(在 mscorlib.dll 中)

版本信息

.NET Framework 受以下版本支持:4 .NET Framework Client Profile 受以下版本支持:4

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。