File.AppendAllLines(String, IEnumerable<String>, Encoding) 是一个内置的 File 类方法,用于使用指定的编码将指定的行附加到文件中,然后关闭文件。如果指定的文件不存在,此方法将创建一个新文件,将指定的行写入该文件,然后关闭该文件。
用法:
public static void AppendAllLines (string path, System.Collections.Generic.IEnumerable<String> contents, System.Text.Encoding encoding);
参数:此函数接受两个参数,如下所示:
- 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:路径、内容或编码为空。
- DirectoryNotFoundException:路径无效,即目录不存在或位于未映射的驱动器上。
- FileNotFoundException:找不到路径给出的文件。
- IOException:打开文件时发生I /O错误。
- PathTooLongException:路径超过 system-defined 最大长度。
- 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 相同:
相关用法
- C# File.AppendAllText(String, String, Encoding)用法及代码示例
- C# File.ReadAllLines(String, Encoding)用法及代码示例
- C# File.ReadLines(String, Encoding)用法及代码示例
- C# File.ReadAllText(String, Encoding)用法及代码示例
- C# File.WriteAllText(String, String, Encoding)用法及代码示例
- C# File.WriteAllLines(String, String[], Encoding)用法及代码示例
- C# File.WriteAllLines(String, IEnumerable<String>, Encoding)用法及代码示例
- C# Array.GetValue()方法用法及代码示例
- C# File.GetLastWriteTimeUtc()用法及代码示例
- C# MathF.Sin()用法及代码示例
- C# Double.CompareTo用法及代码示例
- C# UInt16.GetHashCode用法及代码示例
- C# Int64.CompareTo用法及代码示例
- C# MathF.Truncate()用法及代码示例
- C# MathF.Exp()用法及代码示例
- C# Array.BinarySearch(Array, Object)用法及代码示例
- C# Char.GetHashCode()用法及代码示例
- C# Char.GetTypeCode()用法及代码示例
- C# Object.GetHashCode()用法及代码示例
注:本文由纯净天空筛选整理自Kanchan_Ray大神的英文原创作品 File.AppendAllLines(String, IEnumerable<String>, Encoding) Method in C# with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。