System.IO.File.WriteAllLines 方法 (String, IEnumerable)

方法描述

创建一个新文件,在其中写入一组字符串,然后关闭该文件。

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

public static void WriteAllLines(
	string path,
	IEnumerable contents
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
path System-String 要写入的文件。
contents System-Collections-Generic-IEnumerable 要写入到文件中的文本行。
返回值 void

提示和注释

如果目标文件已存在,则覆盖该文件。

您可以使用此方法为构造函数中采用 IEnumerable 的集合类创建内容,如 List、HashSet 或 SortedSet 类。

System.IO.File.WriteAllLines 方法 (String, IEnumerable)例子

下面的示例将示例数据文件中的选定行写入一个文件。

using System;
using System.IO;
using System.Linq;

class Program
{
	static string dataPath = @"c:\temp\timestamps.txt";

	static void Main(string[] args)
	{
		CreateSampleFile();

		var JulyWeekends = from line in File.ReadLines(dataPath)
						   where (line.StartsWith("Saturday") || 
						   line.StartsWith("Sunday")) & 
						   line.Contains("July")
						   select line;

		File.WriteAllLines(@"C:\temp\selectedDays.txt", JulyWeekends);

		var MarchMondays = from line in File.ReadLines(dataPath)
						   where line.StartsWith("Monday") && 
						   line.Contains("March")
						   select line;

		File.AppendAllLines(@"C:\temp\selectedDays.txt", MarchMondays);
	}

	static void CreateSampleFile()
	{
		DateTime TimeStamp = new DateTime(1700, 1, 1);

		using (StreamWriter sw = new StreamWriter(dataPath))
		{
			for (int i = 0; i < 500; i++)
			{
				DateTime TS1 = TimeStamp.AddYears(i);
				DateTime TS2 = TS1.AddMonths(i);
				DateTime TS3 = TS2.AddDays(i);
				sw.WriteLine(TS3.ToLongDateString());
			}
		}
	}
}

异常

异常 异常描述
ArgumentException path 是一个零长度字符串,仅包含空白或者包含 GetInvalidPathChars 方法中已定义一个或多个无效字符。
ArgumentNullException path 或 contents 为 null。
DirectoryNotFoundException path 无效(例如,在未映射的驱动器上)。
FileNotFoundException 未找 path 中指定的文件。
IOException 打开文件时发生了 I/O 错误。
PathTooLongException path 超过了系统定义的最大长度。 例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260 个字符。
NotSupportedException path 的格式无效。
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 系统要求。