File.AppendAllText(String,String,Encoding)是一个内置的File类方法,如果该文件存在,则使用该方法使用指定的编码将指定的字符串附加到给定的文件,否则创建一个新文件,然后执行附加操作。
句法:
public static void AppendAllText (string path, string contents, System.Text.Encoding encoding);
参数:该函数接受两个参数,如下所示:
- path: This is the file where given contents are going to be appended.
- contents: This is the specified contents which is to be appended to the file.
- Encoding: This is the specified character encoding.
例外情况:
- ArgumentException:路径是长度为零的字符串,仅包含空格,或包含一个或多个InvalidPathChars定义的无效字符。
- ArgumentNullException:路径为null。
- PathTooLongException:给定的路径,文件名或两者都超过了系统定义的最大长度。
- DirectoryNotFoundException:指定的路径无效(例如,该目录不存在或位于未映射的驱动器上)。
- IOException:打开文件时发生I / O错误。
- UnauthorizedAccessException:该路径指定了一个只读文件。或当前平台不支持此操作。或路径指定目录。或呼叫者没有所需的权限。
- NotSupportedException:路径格式无效。
- SecurityException:调用者没有所需的权限。
下面是说明File.AppendAllText(String,String,Encoding)方法的程序。
程序1:在运行下面的代码之前,将创建一个文件,其中包含一些如下所示的内容:
CSharp
// C# program to illustrate the usage
// of File.AppendAllText() method
// Using System, System.IO,
// System.Text and System.Linq namespaces
using System;
using System.IO;
using System.Text;
using System.Linq;
class GFG {
// Main() method
public static void Main()
{
// Creating a file
string myfile = @"file.txt";
// Adding extra texts
string appendText = " is a CS portal." + Environment.NewLine;
File.AppendAllText(myfile, appendText, Encoding.UTF8);
// Opening the file to read from.
string readText = File.ReadAllText(myfile);
Console.WriteLine(readText);
}
}
CSharp
// C# program to illustrate the usage
// of File.AppendAllText() method
// Using System, System.IO,
// System.Text and System.Linq namespaces
using System;
using System.IO;
using System.Text;
using System.Linq;
class GFG {
// Main() method
public static void Main()
{
// Creating a file
string myfile = @"file.txt";
// Checking the existence of file
if (!File.Exists(myfile)) {
// Creating a file with below content
string createText = "GFG" + Environment.NewLine;
File.WriteAllText(myfile, createText);
}
// Adding extra texts
string appendText = " is a CS portal." + Environment.NewLine;
File.AppendAllText(myfile, appendText, Encoding.UTF8);
// Opening the file to read from.
string readText = File.ReadAllText(myfile);
Console.WriteLine(readText);
}
}
执行中:
mcs -out:main.exe main.cs
mono main.exe
GeeksforGeeks is a CS portal.
运行上述代码后,将显示以上输出,文件内容如下所示:
程序2:最初没有创建文件,但是以下代码本身创建了一个新文件并附加了指定的内容。
尖锐的
// C# program to illustrate the usage
// of File.AppendAllText() method
// Using System, System.IO,
// System.Text and System.Linq namespaces
using System;
using System.IO;
using System.Text;
using System.Linq;
class GFG {
// Main() method
public static void Main()
{
// Creating a file
string myfile = @"file.txt";
// Checking the existence of file
if (!File.Exists(myfile)) {
// Creating a file with below content
string createText = "GFG" + Environment.NewLine;
File.WriteAllText(myfile, createText);
}
// Adding extra texts
string appendText = " is a CS portal." + Environment.NewLine;
File.AppendAllText(myfile, appendText, Encoding.UTF8);
// Opening the file to read from.
string readText = File.ReadAllText(myfile);
Console.WriteLine(readText);
}
}
执行中:
mcs -out:main.exe main.cs
mono main.exe
GFG
is a CS portal.
运行上面的代码后,上面的输出已显示,并创建了一个新文件,如下所示: