当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C# File.WriteAllLines(String, IEnumerable<String>, Encoding)用法及代码示例


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,其内容将被过滤,如下所示 -

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 如下所示-

gfg.txt

程序2:在运行以下代码之前,创建了两个文件 file.txt 和 gfg.txt,其中的一些内容如下所示-

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 的内容变成了如下所示——

gfg.txt





注:本文由纯净天空筛选整理自GeeksforGeeks大神的英文原创作品 File.WriteAllLines(String, IEnumerable<String>, Encoding) Method in C# with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。