File.WriteAllLines(String, IEnumerable<String>, Encoding) 是内置的 File 类方法,用于使用指定的编码创建新文件,将字符串集合写入文件,然后关闭文件。
用法:
public static void WriteAllLines (string path, System.Collections.Generic.IEnumerable<String> contents, System.Text.Encoding encoding);
参数:此函数接受三个参数,如下所示:
- path: This is the specified file where collection of strings are going to be written.
- contents: This is the specified lines to write to the file.
- encoding: This is the specified character encoding to use.
异常:
- ArgumentException:路径是一个零长度的字符串,只包含空格,或者一个或多个由 GetInvalidPathChars() 方法定义的无效字符。
- ArgumentNullException:路径、内容或编码为空。
- DirectoryNotFoundException:路径无效。
- IOException:打开文件时发生I /O错误。
- PathTooLongException:路径超过 system-defined 最大长度。
- NotSupportedException:路径格式无效。
- SecurityException:调用者没有所需的权限。
- UnauthorizedAccessException:路径指定了一个只读文件。或者路径指定了一个隐藏的文件。 OR 当前平台不支持此操作。或者路径是一个目录。或者调用者没有所需的权限。
下面是说明 File.WriteAllLines(String, IEnumerable, Encoding) 方法的程序。
程序1:在运行以下代码之前,会创建一个文件 file.txt,其内容将被过滤,如下所示 -
下面的代码本身会创建一个新文件 gfg.txt,其中包含过滤后的字符串。
// C# program to illustrate the usage
// of File.WriteAllLines(String,
// IEnumerable<String>, Encoding) method
// Using System, System.IO,
// System.Linq and System.Text namespaces
using System;
using System.IO;
using System.Linq;
using System.Text;
class GFG {
// Specifying a file from where
// some contents are going to be filtered
static string Path = @"file.txt";
static void Main(string[] args)
{
// Reading content of file.txt
var da = from line in File.ReadLines(Path)
// Selecting lines started with "G"
where(line.StartsWith("G"))
select line;
// Creating a new file gfg.txt with the
// filtered contents
File.WriteAllLines(@"gfg.txt", da, Encoding.UTF8);
Console.WriteLine("Writing the filtered collection "+
"of strings to the file has been done.");
}
}
输出:
Writing the filtered collection of strings to the file has been done.
运行上面的代码后,显示了上面的输出,并创建了一个新文件 gfg.txt 如下所示-
程序2:在运行以下代码之前,创建了两个文件 file.txt 和 gfg.txt,其中的一些内容如下所示-
下面的代码用文件 file.txt 的选定内容覆盖文件 gfg.txt。
// C# program to illustrate the usage
// of File.WriteAllLines(String,
// IEnumerable<String>, Encoding) method
// Using System, System.IO,
// System.Linq and System.Text namespaces
using System;
using System.IO;
using System.Linq;
using System.Text;
class GFG {
// Specifying a file from where
// some contents are going to be filtered
static string Path = @"file.txt";
static void Main(string[] args)
{
// Reading the contents of file.txt
var da = from line in File.ReadLines(Path)
// Selecting lines started with "g"
where(line.StartsWith("g"))
select line;
// Overwriting the file gfg.txt with the
// selected string of the file file.txt
File.WriteAllLines(@"gfg.txt", da, Encoding.UTF8);
Console.WriteLine("Overwriting the selected collection"+
" of strings to the file has been done.");
}
}
输出:
Overwriting the selected collection of strings to the file has been done.
运行上面的代码后,显示了上面的输出,文件 gfg.txt 的内容变成了如下所示——
注:本文由纯净天空筛选整理自GeeksforGeeks大神的英文原创作品 File.WriteAllLines(String, IEnumerable<String>, Encoding) Method in C# with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。