文件。C# 中的 appendallline(String,IEnumerable ,编码)方法,示例

原文:https://www . geeksforgeeks . org/file-appendalllinestring-ienumerablesting-encoding-method-in-c-sharp-with-examples/

文件。AppendAllLines(String,IEnumerable),Encoding) 是一个内置的 File 类方法,用于通过使用指定的编码将指定的行追加到文件中,然后关闭文件。如果指定的文件不存在,此方法将创建一个新文件,将指定的行写入文件,然后关闭文件。

语法:

公共静态空追加行(字符串路径,系统。集合。通用的。可数的内容,系统。文本.编码编码);

参数:该函数接受两个参数,如下图所示:

  • Path: This is the file to append lines. If the file does not already exist, create it.
  • Directory: This is the specified content to be added to the file.
  • Code: This is the specified character code.

异常:

  • ArgumentException:路径是一个零长度字符串,只包含空格,或者一个或多个由 GetInvalidPathChars()方法定义的无效字符。
  • ArgumentNullException: 要么路径内容,要么编码为空。
  • 目录不存在异常:路径无效,即目录不存在或位于未映射的驱动器上。
  • 文件未找到异常:未找到路径给出的文件。
  • IOException: 打开文件时出现输入/输出错误。
  • 路径工具异常:路径超过了系统定义的最大长度。
  • notSupportDexception:路径的格式无效。
  • 安全性异常:调用方没有所需的权限。
  • 未授权访问异常:路径指定了一个只读文件。或者当前平台不支持此操作。或者路径是一个目录。或者呼叫者没有所需的权限。

下面是说明文件的程序。方法。

程序 1: 使用两个文件一个是 file.txt 另一个是 gfg.txt 运行程序前内容如下。

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 的内容如下所示,这意味着文件 gfg.txt 中已添加了 file.txt 的内容

gfg.txt

程序 2: 只创建了一个文件 file.txt ,其内容如下:

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 相同:

gfg.txt