File.AppendAllLines(String,IEnumerable
句法:
public static void AppendAllLines (string path, System.Collections.Generic.IEnumerable
参数:该函数接受两个参数,如下所示:
- path: This is the file where lines are going to be appended. The file is created if it doesn’t already exist.
- contents: This is the specified contents which is to be appended to the file.
- encoding: This is the specified character encoding.
例外情况:
- ArgumentException:路径是一个零长度的字符串,仅包含空格,或者由GetInvalidPathChars()方法定义的一个或多个无效字符。
- ArgumentNullException: path , contents或encoding为null。
- DirectoryNotFoundException:路径无效,即目录不存在或位于未映射的驱动器上。
- FileNotFoundException:找不到路径给出的文件。
- IOException:打开文件时发生I / O错误。
- PathTooLongException:路径超出了系统定义的最大长度。
- NotSupportedException:路径格式无效。
- SecurityException:调用者没有所需的权限。
- UnauthorizedAccessException:该路径指定一个只读文件。或当前平台不支持此操作。或路径是目录。或呼叫者没有所需的权限。
下面是说明File.AppendAllLines(String,IEnumerable,Encoding)方法的程序。
程序1:使用了两个文件,一个是file.txt ,另一个是gfg.txt,其内容在运行该程序之前如下所示。
// C# program to illustrate the usage
// of File.AppendAllLines() method
// Using System, System.IO,
// System.Linq and System.Text namespaces
using System;
using System.IO;
using System.Linq;
using System.Text;
// Creating class
class GfG {
// Creating a file
static string myfile = @"file.txt";
// Main method
static void Main(string[] args)
{
// Reading lines of the file created above
var appendTofile = from line in File.ReadLines(myfile)
// Using select statement
select line;
// Calling AppendAllLines() method with its
// parameters
File.AppendAllLines(@"gfg.txt", appendTofile, Encoding.UTF8);
// Printed when the stated file is appended
Console.WriteLine("All lines are appended");
}
}
执行中:
mcs -out:main.exe main.cs
mono main.exe
All lines are appended
运行上述代码后,将显示以上输出,并且文件gfg.txt的内容将如下所示,这意味着file.txt的内容已附加到文件gfg.txt中
程序2:仅创建了一个文件file.txt,其内容如下所示:
// C# program to illustrate the usage
// of File.AppendAllLines() method
// Using System, System.IO,
// System.Linq and System.Text namespaces
using System;
using System.IO;
using System.Linq;
using System.Text;
// Creating class
class GfG {
// Creating a file
static string myfile = @"file.txt";
// Main method
static void Main(string[] args)
{
// Reading lines of the file created above
var appendTofile = from line in File.ReadLines(myfile)
// It only appends the line that starts with g
where(line.StartsWith("g"))
// Using select statement
select line;
// Calling AppendAllLines() method with its
// parameters
File.AppendAllLines(@"gfg.txt", appendTofile, Encoding.UTF8);
// Printed when the stated file is appended
Console.WriteLine("All lines are appended");
}
}
执行中:
mcs -out:main.exe main.cs
mono main.exe
All lines are appended
运行上述代码后,将显示以上输出,并将创建一个名为gfg.txt的新文件,其内容与file.txt文件相同: