一、写入

            //在应用程序当前目录下的File1.txt文件中追加文件内容,如果文件不存在就创建,默认编码
File.AppendAllText("File1.txt", "这是文件内容A"); //在C盘根目录下的File2.txt文件中追加文件内容,如果文件不存在就创建,指定编码为UTF8
File.AppendAllText(@"c:\File2.txt", "这是文件内容B",Encoding.UTF8); //读取应用程序当前目录下的File1.txt文件内容
String content = File.ReadAllText(@"File1.txt");
MessageBox.Show(content); //将C盘根目录下的File2.txt文件加密
File.Encrypt(@"c:\File2.txt");

需要引入System.IO

1、创建一个新文件,在其中写入指定的字节数组,然后关闭该文件。如果目标文件已存在,则覆盖该文件。

//path:要写入的文件。bytes:要写入文件的字节。
public static void WriteAllBytes(string path, byte[] bytes);

2、创建一个新文件,在其中写入指定的字符串数组,然后关闭该文件。如果目标文件已存在,则覆盖该文件。
path:要写入的文件。contents:要写入文件的字符串数组。
public static void WriteAllLines(string path, string[] contents);

3、创建一个新文件,使用指定的编码在其中写入指定的字符串数组,然后关闭文件。如果目标文件已存在,则覆盖该文件。
path:要写入的文件。contents:要写入文件的字符串数组。
encoding:一个 System.Text.Encoding 对象,表示应用于字符串数组的字符编码。
public static void WriteAllLines(string path, string[] contents, Encoding encoding);

4、创建一个新文件,在其中写入指定的字符串,然后关闭文件。如果目标文件已存在,则覆盖该文件。
path:要写入的文件。contents:要写入文件的字符串。
public static void WriteAllText(string path, string contents);

1、创建一个新文件,在其中写入指定的字符串,然后关闭文件。如果目标文件已存在,则覆盖该文件。
path:要写入的文件。contents:要写入文件的字符串。
encoding:一个 System.Text.Encoding 对象,表示应用于字符串的编码。
public static void WriteAllText(string path, string contents, Encoding encoding);

二、读取

1、打开一个文本文件,读取文件的所有行,然后关闭该文件。 path:要打开以进行读取的文件位置。 返回结果: 包含文件所有行的字符串。
public static string ReadAllText(string path);

2、打开一个文件,将文件的内容读入一个字符串,然后关闭该文件。path:要打开以进行读取的文件位置。返回结果: 包含文件内容的字节数组。
public static byte[] ReadAllBytes(string path);

3、打开一个文本文件,读取文件的所有行,然后关闭该文件。path:要打开以进行读取的文件位置。返回结果: 包含文件所有行的字符串数组。
public static string[] ReadAllLines(string path);

4、打开一个文件,使用指定的编码读取文件的所有行,然后关闭该文件。path:要打开以进行读取的文件位置。encoding:应用到文件内容的编码。 返回结果: 包含文件所有行的字符串数组。
public static string[] ReadAllLines(string path, Encoding encoding);

5、打开一个文件,使用指定的编码读取文件的所有行,然后关闭该文件。 path:要打开以进行读取的文件位置。 encoding:应用到文件内容的编码。 返回结果: 包含文件所有行的字符串。
public static string ReadAllText(string path, Encoding encoding);

三、文件操作

1、将某个文件加密,使得只有加密该文件的帐户才能将其解密。 path: 描述要加密的文件的路径。
public static void Encrypt(string path);

2、删除指定的文件。如果指定的文件不存在,则不引发异常。 path:要删除的文件的名称。
public static void Delete(string path);

3、解密由当前帐户使用 System.IO.File.Encrypt(System.String) 方法加密的文件。path:描述要解密的文件的路径。
public static void Decrypt(string path);

4、确定指定的文件是否存在。
public static bool Exists(string path);

5、将现有文件复制到新文件。不允许覆盖同名的文件。sourceFileName:要复制的文件。destFileName:目标文件的名称。它不能是一个目录或现有文件。
public static void Copy(string sourceFileName, string destFileName);

四、文件操作详细

using System;
using System.Runtime.InteropServices;
using System.Security.AccessControl;
using System.Text; namespace System.IO
{
// 摘要:
// 提供用于创建、复制、删除、移动和打开文件的静态方法,并协助创建 System.IO.FileStream 对象。
[ComVisible(true)]
public static class File
{
// 摘要:
// 打开一个文件,向其中追加指定的字符串,然后关闭该文件。如果文件不存在,此方法创建一个文件,将指定的字符串写入文件,然后关闭该文件。
//
// 参数:
// path:
// 要将指定的字符串追加到的文件。
//
// contents:
// 要追加到文件中的字符串。
//
// 异常:
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.IO.DirectoryNotFoundException:
// 指定的路径无效(例如,它位于未映射的驱动器上)。
//
// System.IO.IOException:
// 打开文件时发生 I/O 错误。
//
// System.UnauthorizedAccessException:
// path 指定了一个只读文件。- 或 -在当前平台上不支持此操作。- 或 -path 指定了一个目录。- 或 -调用方没有所要求的权限。
//
// System.IO.FileNotFoundException:
// 未找到 path 中指定的文件。
//
// System.NotSupportedException:
// path 的格式无效。
//
// System.Security.SecurityException:
// 调用方没有所要求的权限。
public static void AppendAllText(string path, string contents);
//
// 摘要:
// 将指定的字符串追加到文件中,如果文件还不存在则创建该文件。
//
// 参数:
// path:
// 要将指定的字符串追加到的文件。
//
// contents:
// 要追加到文件中的字符串。
//
// encoding:
// 要使用的字符编码。
//
// 异常:
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.IO.DirectoryNotFoundException:
// 指定的路径无效(例如,它位于未映射的驱动器上)。
//
// System.IO.IOException:
// 打开文件时发生 I/O 错误。
//
// System.UnauthorizedAccessException:
// path 指定了一个只读文件。- 或 -在当前平台上不支持此操作。- 或 -path 指定了一个目录。- 或 -调用方没有所要求的权限。
//
// System.IO.FileNotFoundException:
// 未找到 path 中指定的文件。
//
// System.NotSupportedException:
// path 的格式无效。
//
// System.Security.SecurityException:
// 调用方没有所要求的权限。
public static void AppendAllText(string path, string contents, Encoding encoding);
//
// 摘要:
// 创建一个 System.IO.StreamWriter,它将 UTF-8 编码文本追加到现有文件。
//
// 参数:
// path:
// 要向其中追加内容的文件的路径。
//
// 返回结果:
// 一个 StreamWriter,它将 UTF-8 编码文本追加到现有文件。
//
// 异常:
// System.UnauthorizedAccessException:
// 调用方没有所要求的权限。
//
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.IO.DirectoryNotFoundException:
// 指定的路径无效(例如,它位于未映射的驱动器上)。
//
// System.NotSupportedException:
// path 的格式无效。
public static StreamWriter AppendText(string path);
//
// 摘要:
// 将现有文件复制到新文件。不允许覆盖同名的文件。
//
// 参数:
// sourceFileName:
// 要复制的文件。
//
// destFileName:
// 目标文件的名称。它不能是一个目录或现有文件。
//
// 异常:
// System.UnauthorizedAccessException:
// 调用方没有所要求的权限。
//
// System.ArgumentException:
// sourceFileName 或 destFileName 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars
// 定义的无效字符。- 或 -sourceFileName 或 destFileName 指定目录。
//
// System.ArgumentNullException:
// sourceFileName 或 destFileName 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.IO.DirectoryNotFoundException:
// 在 sourceFileName 或 destFileName 中指定的路径无效(例如,它位于未映射的驱动器上)。
//
// System.IO.FileNotFoundException:
// 未找到 sourceFileName。
//
// System.IO.IOException:
// destFileName 存在。- 或 -出现 I/O 错误。
//
// System.NotSupportedException:
// sourceFileName 或 destFileName 的格式无效。
public static void Copy(string sourceFileName, string destFileName);
//
// 摘要:
// 将现有文件复制到新文件。允许覆盖同名的文件。
//
// 参数:
// sourceFileName:
// 要复制的文件。
//
// destFileName:
// 目标文件的名称。不能是目录。
//
// overwrite:
// 如果可以覆盖目标文件,则为 true;否则为 false。
//
// 异常:
// System.UnauthorizedAccessException:
// 调用方没有所要求的权限。
//
// System.ArgumentException:
// sourceFileName 或 destFileName 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars
// 定义的无效字符。- 或 -sourceFileName 或 destFileName 指定目录。
//
// System.ArgumentNullException:
// sourceFileName 或 destFileName 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.IO.DirectoryNotFoundException:
// 在 sourceFileName 或 destFileName 中指定的路径无效(例如,它位于未映射的驱动器上)。
//
// System.IO.FileNotFoundException:
// 未找到 sourceFileName。
//
// System.IO.IOException:
// destFileName 是只读的,或者 destFileName 存在并且 overwrite 是 false。- 或 -出现 I/O 错误。
//
// System.NotSupportedException:
// sourceFileName 或 destFileName 的格式无效。
public static void Copy(string sourceFileName, string destFileName, bool overwrite);
//
// 摘要:
// 在指定路径中创建或覆盖文件。
//
// 参数:
// path:
// 要创建的文件的路径及名称。
//
// 返回结果:
// 一个 System.IO.FileStream,它提供对 path 中指定的文件的读/写访问。
//
// 异常:
// System.UnauthorizedAccessException:
// 调用方没有所要求的权限。- 或 -path 指定了一个只读文件。
//
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.IO.DirectoryNotFoundException:
// 指定的路径无效(例如,它位于未映射的驱动器上)。
//
// System.IO.IOException:
// 创建文件时发生 I/O 错误。
//
// System.NotSupportedException:
// path 的格式无效。
public static FileStream Create(string path);
//
// 摘要:
// 创建或覆盖指定的文件。
//
// 参数:
// path:
// 文件名。
//
// bufferSize:
// 用于读取和写入文件的已放入缓冲区的字节数。
//
// 返回结果:
// 一个具有指定缓冲大小的 System.IO.FileStream,它提供对 path 中指定的文件的读/写访问。
//
// 异常:
// System.UnauthorizedAccessException:
// 调用方没有所要求的权限。- 或 -path 指定了一个只读文件。
//
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.IO.DirectoryNotFoundException:
// 指定的路径无效(例如,它位于未映射的驱动器上)。
//
// System.IO.IOException:
// 创建文件时发生 I/O 错误。
//
// System.NotSupportedException:
// path 的格式无效。
public static FileStream Create(string path, int bufferSize);
//
// 摘要:
// 创建或覆盖指定的文件,并指定缓冲区大小和一个描述如何创建或覆盖该文件的 System.IO.FileOptions 值。
//
// 参数:
// path:
// 文件名。
//
// bufferSize:
// 用于读取和写入文件的已放入缓冲区的字节数。
//
// options:
// System.IO.FileOptions 值之一,它描述如何创建或覆盖该文件。
//
// 返回结果:
// 具有指定缓冲区大小的新文件。
//
// 异常:
// System.UnauthorizedAccessException:
// 调用方没有所要求的权限。- 或 -path 指定了一个只读文件。- 或 - 为 options 指定了 System.IO.FileOptions.Encrypted,但当前平台不支持文件加密。
//
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.IO.DirectoryNotFoundException:
// 指定的路径无效(例如,它位于未映射的驱动器上)。
//
// System.IO.IOException:
// 创建文件时发生 I/O 错误。
//
// System.NotSupportedException:
// path 的格式无效。
//
// System.UnauthorizedAccessException:
// 调用方没有所要求的权限。- 或 -path 指定了一个只读文件。
//
// System.UnauthorizedAccessException:
// 调用方没有所要求的权限。- 或 -path 指定了一个只读文件。
public static FileStream Create(string path, int bufferSize, FileOptions options);
//
// 摘要:
// 创建或覆盖具有指定的缓冲区大小、文件选项和文件安全性的指定文件。
//
// 参数:
// path:
// 文件名。
//
// bufferSize:
// 用于读取和写入文件的已放入缓冲区的字节数。
//
// options:
// System.IO.FileOptions 值之一,它描述如何创建或覆盖该文件。
//
// fileSecurity:
// System.Security.AccessControl.FileSecurity 值之一,它确定文件的访问控制和审核安全性。
//
// 返回结果:
// 具有指定的缓冲区大小、文件选项和文件安全性的新文件。
//
// 异常:
// System.UnauthorizedAccessException:
// 调用方没有所要求的权限。- 或 -path 指定了一个只读文件。- 或 - 为 options 指定了 System.IO.FileOptions.Encrypted,但当前平台不支持文件加密。
//
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.IO.DirectoryNotFoundException:
// 指定的路径无效(例如,它位于未映射的驱动器上)。
//
// System.IO.IOException:
// 创建文件时发生 I/O 错误。
//
// System.NotSupportedException:
// path 的格式无效。
//
// System.UnauthorizedAccessException:
// 调用方没有所要求的权限。- 或 -path 指定了一个只读文件。
//
// System.UnauthorizedAccessException:
// 调用方没有所要求的权限。- 或 -path 指定了一个只读文件。
public static FileStream Create(string path, int bufferSize, FileOptions options, FileSecurity fileSecurity);
//
// 摘要:
// 创建或打开一个文件用于写入 UTF-8 编码的文本。
//
// 参数:
// path:
// 要打开以进行写入的文件。
//
// 返回结果:
// 一个 System.IO.StreamWriter,它使用 UTF-8 编码写入指定的文件。
//
// 异常:
// System.UnauthorizedAccessException:
// 调用方没有所要求的权限。
//
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.IO.DirectoryNotFoundException:
// 指定的路径无效(例如,它位于未映射的驱动器上)。
//
// System.NotSupportedException:
// path 的格式无效。
public static StreamWriter CreateText(string path);
//
// 摘要:
// 解密由当前帐户使用 System.IO.File.Encrypt(System.String) 方法加密的文件。
//
// 参数:
// path:
// 描述要解密的文件的路径。
//
// 异常:
// System.ArgumentException:
// path 参数是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 参数为 null。
//
// System.IO.DriveNotFoundException:
// 指定了无效的驱动器。
//
// System.IO.FileNotFoundException:
// 找不到 path 参数所描述的文件。
//
// System.IO.IOException:
// 打开文件时发生 I/O 错误。例如,加密的文件已经打开。- 或 -在当前平台上不支持此操作。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.PlatformNotSupportedException:
// 当前操作系统不是 Microsoft Windows NT 或更高版本。
//
// System.NotSupportedException:
// 文件系统不是 NTFS。
//
// System.UnauthorizedAccessException:
// path 参数指定了一个只读文件。- 或 -在当前平台上不支持此操作。- 或 -path 参数指定了一个目录。- 或 -调用方没有所要求的权限。
public static void Decrypt(string path);
//
// 摘要:
// 删除指定的文件。如果指定的文件不存在,则不引发异常。
//
// 参数:
// path:
// 要删除的文件的名称。
//
// 异常:
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.DirectoryNotFoundException:
// 指定的路径无效(例如,它位于未映射的驱动器上)。
//
// System.IO.IOException:
// 指定的文件正在使用中。
//
// System.NotSupportedException:
// path 的格式无效。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.UnauthorizedAccessException:
// 调用方没有所要求的权限。- 或 -path 是一个目录。- 或 -path 指定一个只读文件。
public static void Delete(string path);
//
// 摘要:
// 将某个文件加密,使得只有加密该文件的帐户才能将其解密。
//
// 参数:
// path:
// 描述要加密的文件的路径。
//
// 异常:
// System.ArgumentException:
// path 参数是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 参数为 null。
//
// System.IO.DriveNotFoundException:
// 指定了无效的驱动器。
//
// System.IO.FileNotFoundException:
// 找不到 path 参数所描述的文件。
//
// System.IO.IOException:
// 打开文件时发生 I/O 错误。- 或 -在当前平台上不支持此操作。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.PlatformNotSupportedException:
// 当前操作系统不是 Microsoft Windows NT 或更高版本。
//
// System.NotSupportedException:
// 文件系统不是 NTFS。
//
// System.UnauthorizedAccessException:
// path 参数指定了一个只读文件。- 或 -在当前平台上不支持此操作。- 或 -path 参数指定了一个目录。- 或 -调用方没有所要求的权限。
public static void Encrypt(string path);
//
// 摘要:
// 确定指定的文件是否存在。
//
// 参数:
// path:
// 要检查的文件。
//
// 返回结果:
// 如果调用方具有要求的权限并且 path 包含现有文件的名称,则为 true;否则为 false。如果 path 为 null、无效路径或零长度字符串,则此方法也将返回
// false。如果调用方不具有读取指定文件所需的足够权限,则不引发异常并且该方法返回 false,这与 path 是否存在无关。
public static bool Exists(string path);
//
// 摘要:
// 获取一个 System.Security.AccessControl.FileSecurity 对象,它封装指定文件的访问控制列表 (ACL) 条目。
//
// 参数:
// path:
// 一个文件的路径,该文件包含描述文件的访问控制列表 (ACL) 信息的 System.Security.AccessControl.FileSecurity
// 对象。
//
// 返回结果:
// 一个 System.Security.AccessControl.FileSecurity 对象,它封装由 path 参数描述的文件的访问控制规则。
//
// 异常:
// System.IO.IOException:
// 打开文件时发生 I/O 错误。
//
// System.Runtime.InteropServices.SEHException:
// path 参数为 null。
//
// System.SystemException:
// 未能找到文件。
//
// System.UnauthorizedAccessException:
// path 参数指定了一个只读文件。- 或 -在当前平台上不支持此操作。- 或 -path 参数指定了一个目录。- 或 -调用方没有所要求的权限。
public static FileSecurity GetAccessControl(string path);
//
// 摘要:
// 获取一个 System.Security.AccessControl.FileSecurity 对象,它封装特定文件的指定类型的访问控制列表 (ACL)
// 项。
//
// 参数:
// path:
// 一个文件的路径,该文件包含描述文件的访问控制列表 (ACL) 信息的 System.Security.AccessControl.FileSecurity
// 对象。
//
// includeSections:
// System.Security.AccessControl.AccessControlSections 值之一,它指定要接收的访问控制列表 (ACL)
// 信息的类型。
//
// 返回结果:
// 一个 System.Security.AccessControl.FileSecurity 对象,它封装由 path 参数描述的文件的访问控制规则。
//
// 异常:
// System.IO.IOException:
// 打开文件时发生 I/O 错误。
//
// System.Runtime.InteropServices.SEHException:
// path 参数为 null。
//
// System.SystemException:
// 未能找到文件。
//
// System.UnauthorizedAccessException:
// path 参数指定了一个只读文件。- 或 -在当前平台上不支持此操作。- 或 -path 参数指定了一个目录。- 或 -调用方没有所要求的权限。
public static FileSecurity GetAccessControl(string path, AccessControlSections includeSections);
//
// 摘要:
// 获取在此路径上的文件的 System.IO.FileAttributes。
//
// 参数:
// path:
// 该文件的路径。
//
// 返回结果:
// 路径上文件的 System.IO.FileAttributes。
//
// 异常:
// System.ArgumentException:
// path 为空,仅包含空白,或包含无效字符。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.NotSupportedException:
// path 的格式无效。
//
// System.IO.FileNotFoundException:
// path 表示一个文件且它是无效的,例如,位于未映射的驱动器上或无法找到文件。
//
// System.IO.DirectoryNotFoundException:
// path 表示一个目录且它是无效的,例如,位于未映射的驱动器上或无法找到目录。
public static FileAttributes GetAttributes(string path);
//
// 摘要:
// 返回指定文件或目录的创建日期和时间。
//
// 参数:
// path:
// 要获取其创建日期和时间信息的文件或目录。
//
// 返回结果:
// 一个 System.DateTime 结构,它被设置为指定文件或目录的创建日期和时间。该值用本地时间表示。
//
// 异常:
// System.UnauthorizedAccessException:
// 调用方没有所要求的权限。
//
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.NotSupportedException:
// path 的格式无效。
public static DateTime GetCreationTime(string path);
//
// 摘要:
// 返回指定的文件或目录的创建日期及时间,其格式为协调通用时间 (UTC)。
//
// 参数:
// path:
// 要获取其创建日期和时间信息的文件或目录。
//
// 返回结果:
// 一个 System.DateTime 结构,它被设置为指定文件或目录的创建日期和时间。该值用 UTC 时间表示。
//
// 异常:
// System.UnauthorizedAccessException:
// 调用方没有所要求的权限。
//
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.NotSupportedException:
// path 的格式无效。
public static DateTime GetCreationTimeUtc(string path);
//
// 摘要:
// 返回上次访问指定文件或目录的日期和时间。
//
// 参数:
// path:
// 要获取其访问日期和时间信息的文件或目录。
//
// 返回结果:
// 一个 System.DateTime 结构,它被设置为上次访问指定文件或目录的日期和时间。该值用本地时间表示。
//
// 异常:
// System.UnauthorizedAccessException:
// 调用方没有所要求的权限。
//
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.NotSupportedException:
// path 的格式无效。
public static DateTime GetLastAccessTime(string path);
//
// 摘要:
// 返回上次访问指定的文件或目录的日期及时间,其格式为协调通用时间 (UTC)。
//
// 参数:
// path:
// 要获取其访问日期和时间信息的文件或目录。
//
// 返回结果:
// 一个 System.DateTime 结构,它被设置为上次访问指定文件或目录的日期和时间。该值用 UTC 时间表示。
//
// 异常:
// System.UnauthorizedAccessException:
// 调用方没有所要求的权限。
//
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.NotSupportedException:
// path 的格式无效。
public static DateTime GetLastAccessTimeUtc(string path);
//
// 摘要:
// 返回上次写入指定文件或目录的日期和时间。
//
// 参数:
// path:
// 要获取其写入日期和时间信息的文件或目录。
//
// 返回结果:
// 一个 System.DateTime 结构,它被设置为上次写入指定文件或目录的日期和时间。该值用本地时间表示。
//
// 异常:
// System.UnauthorizedAccessException:
// 调用方没有所要求的权限。
//
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.NotSupportedException:
// path 的格式无效。
public static DateTime GetLastWriteTime(string path);
//
// 摘要:
// 返回上次写入指定的文件或目录的日期和时间,其格式为协调通用时间 (UTC)。
//
// 参数:
// path:
// 要获取其写入日期和时间信息的文件或目录。
//
// 返回结果:
// 一个 System.DateTime 结构,它被设置为上次写入指定文件或目录的日期和时间。该值用 UTC 时间表示。
//
// 异常:
// System.UnauthorizedAccessException:
// 调用方没有所要求的权限。
//
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.NotSupportedException:
// path 的格式无效。
public static DateTime GetLastWriteTimeUtc(string path);
//
// 摘要:
// 将指定文件移到新位置,并提供指定新文件名的选项。
//
// 参数:
// sourceFileName:
// 要移动的文件的名称。
//
// destFileName:
// 文件的新路径。
//
// 异常:
// System.IO.IOException:
// 目标文件已经存在。
//
// System.ArgumentNullException:
// sourceFileName 或 destFileName 为 null。
//
// System.ArgumentException:
// sourceFileName 或 destFileName 是零长度字符串、只包含空白或者包含在 System.IO.Path.InvalidPathChars
// 中定义的无效字符。
//
// System.UnauthorizedAccessException:
// 调用方没有所要求的权限。
//
// System.IO.FileNotFoundException:
// 未找到 sourceFileName。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.IO.DirectoryNotFoundException:
// sourceFileName 或 destFileName 中指定的路径无效(例如,它位于未映射的驱动器上)。
//
// System.NotSupportedException:
// sourceFileName 或 destFileName 的格式无效。
public static void Move(string sourceFileName, string destFileName);
//
// 摘要:
// 打开指定路径上的 System.IO.FileStream,具有读/写访问权限。
//
// 参数:
// path:
// 要打开的文件。
//
// mode:
// System.IO.FileMode 值,用于指定在文件不存在时是否创建该文件,并确定是保留还是覆盖现有文件的内容。
//
// 返回结果:
// 以指定模式打开的指定路径上的 System.IO.FileStream,具有读/写访问权限并且不共享。
//
// 异常:
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.IO.DirectoryNotFoundException:
// 指定的路径无效(例如,它位于未映射的驱动器上)。
//
// System.IO.IOException:
// 打开文件时发生 I/O 错误。
//
// System.UnauthorizedAccessException:
// path 指定了一个只读文件。- 或 -在当前平台上不支持此操作。- 或 -path 指定了一个目录。- 或 -调用方没有所要求的权限。
//
// System.ArgumentOutOfRangeException:
// mode 指定了一个无效值。
//
// System.IO.FileNotFoundException:
// 未找到 path 中指定的文件。
//
// System.NotSupportedException:
// path 的格式无效。
public static FileStream Open(string path, FileMode mode);
//
// 摘要:
// 以指定的模式和访问权限打开指定路径上的 System.IO.FileStream。
//
// 参数:
// path:
// 要打开的文件。
//
// mode:
// System.IO.FileMode 值,用于指定在文件不存在时是否创建该文件,并确定是保留还是覆盖现有文件的内容。
//
// access:
// System.IO.FileAccess 值,指定可以对文件执行的操作。
//
// 返回结果:
// 一个非共享的 System.IO.FileStream,它提供对指定文件的访问,并且具有指定的模式和访问权限。
//
// 异常:
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。-
// 或 -access 指定了 Read,而 mode 指定了 Create、CreateNew、Truncate 或 Append。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.IO.DirectoryNotFoundException:
// 指定的路径无效(例如,它位于未映射的驱动器上)。
//
// System.IO.IOException:
// 打开文件时发生 I/O 错误。
//
// System.UnauthorizedAccessException:
// path 指定了一个只读文件,而 access 不为 Read。- 或 -path 指定了一个目录。- 或 -调用方没有所要求的权限。
//
// System.ArgumentOutOfRangeException:
// mode 或 access 指定了一个无效值。
//
// System.IO.FileNotFoundException:
// 未找到 path 中指定的文件。
//
// System.NotSupportedException:
// path 的格式无效。
public static FileStream Open(string path, FileMode mode, FileAccess access);
//
// 摘要:
// 打开指定路径上的 System.IO.FileStream,具有指定的读、写或读/写访问模式以及指定的共享选项。
//
// 参数:
// path:
// 要打开的文件。
//
// mode:
// System.IO.FileMode 值,用于指定在文件不存在时是否创建该文件,并确定是保留还是覆盖现有文件的内容。
//
// access:
// System.IO.FileAccess 值,指定可以对文件执行的操作。
//
// share:
// System.IO.FileShare 值,它指定其他线程所具有的对该文件的访问类型。
//
// 返回结果:
// 指定路径上的 System.IO.FileStream,具有指定的读、写或读/写访问模式以及指定的共享选项。
//
// 异常:
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。-
// 或 -access 指定了 Read,而 mode 指定了 Create、CreateNew、Truncate 或 Append。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.IO.DirectoryNotFoundException:
// 指定的路径无效(例如,它位于未映射的驱动器上)。
//
// System.IO.IOException:
// 打开文件时发生 I/O 错误。
//
// System.UnauthorizedAccessException:
// path 指定了一个只读文件,而 access 不为 Read。- 或 -path 指定了一个目录。- 或 -调用方没有所要求的权限。
//
// System.ArgumentOutOfRangeException:
// mode、access 或 share 指定了一个无效值。
//
// System.IO.FileNotFoundException:
// 未找到 path 中指定的文件。
//
// System.NotSupportedException:
// path 的格式无效。
public static FileStream Open(string path, FileMode mode, FileAccess access, FileShare share);
//
// 摘要:
// 打开现有文件以进行读取。
//
// 参数:
// path:
// 要打开以进行读取的文件。
//
// 返回结果:
// 指定路径上的只读 System.IO.FileStream。
//
// 异常:
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.IO.DirectoryNotFoundException:
// 指定的路径无效(例如,它位于未映射的驱动器上)。
//
// System.UnauthorizedAccessException:
// path 指定了一个目录。- 或 -调用方没有所要求的权限。
//
// System.IO.FileNotFoundException:
// 未找到 path 中指定的文件。
//
// System.NotSupportedException:
// path 的格式无效。
public static FileStream OpenRead(string path);
//
// 摘要:
// 打开现有 UTF-8 编码文本文件以进行读取。
//
// 参数:
// path:
// 要打开以进行读取的文件。
//
// 返回结果:
// 指定路径上的 System.IO.StreamReader。
//
// 异常:
// System.UnauthorizedAccessException:
// 调用方没有所要求的权限。
//
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.IO.DirectoryNotFoundException:
// 指定的路径无效(例如,它位于未映射的驱动器上)。
//
// System.IO.FileNotFoundException:
// 未找到 path 中指定的文件。
//
// System.NotSupportedException:
// path 的格式无效。
public static StreamReader OpenText(string path);
//
// 摘要:
// 打开现有文件以进行写入。
//
// 参数:
// path:
// 要打开以进行写入的文件。
//
// 返回结果:
// 具有 System.IO.FileAccess.Write 访问权限的指定路径上的非共享 System.IO.FileStream 对象。
//
// 异常:
// System.UnauthorizedAccessException:
// 调用方没有所要求的权限。- 或 -path 指定了只读文件或目录。
//
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.IO.DirectoryNotFoundException:
// 指定的路径无效(例如,它位于未映射的驱动器上)。
//
// System.IO.FileNotFoundException:
// 未找到 path 中指定的文件。
//
// System.NotSupportedException:
// path 的格式无效。
public static FileStream OpenWrite(string path);
//
// 摘要:
// 打开一个文件,将文件的内容读入一个字符串,然后关闭该文件。
//
// 参数:
// path:
// 要打开以进行读取的文件。
//
// 返回结果:
// 包含文件内容的字节数组。
//
// 异常:
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.IO.DirectoryNotFoundException:
// 指定的路径无效(例如,它位于未映射的驱动器上)。
//
// System.IO.IOException:
// 打开文件时发生 I/O 错误。
//
// System.UnauthorizedAccessException:
// 在当前平台上不支持此操作。- 或 -path 指定了一个目录。- 或 -调用方没有所要求的权限。
//
// System.IO.FileNotFoundException:
// 未找到 path 中指定的文件。
//
// System.NotSupportedException:
// path 的格式无效。
//
// System.Security.SecurityException:
// 调用方没有所要求的权限。
public static byte[] ReadAllBytes(string path);
//
// 摘要:
// 打开一个文本文件,读取文件的所有行,然后关闭该文件。
//
// 参数:
// path:
// 要打开以进行读取的文件。
//
// 返回结果:
// 包含文件所有行的字符串数组。
//
// 异常:
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.IO.DirectoryNotFoundException:
// 指定的路径无效(例如,它位于未映射的驱动器上)。
//
// System.IO.IOException:
// 打开文件时发生 I/O 错误。
//
// System.UnauthorizedAccessException:
// path 指定了一个只读文件。- 或 -在当前平台上不支持此操作。- 或 -path 指定了一个目录。- 或 -调用方没有所要求的权限。
//
// System.IO.FileNotFoundException:
// 未找到 path 中指定的文件。
//
// System.NotSupportedException:
// path 的格式无效。
//
// System.Security.SecurityException:
// 调用方没有所要求的权限。
public static string[] ReadAllLines(string path);
//
// 摘要:
// 打开一个文件,使用指定的编码读取文件的所有行,然后关闭该文件。
//
// 参数:
// path:
// 要打开以进行读取的文件。
//
// encoding:
// 应用到文件内容的编码。
//
// 返回结果:
// 包含文件所有行的字符串数组。
//
// 异常:
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.IO.DirectoryNotFoundException:
// 指定的路径无效(例如,它位于未映射的驱动器上)。
//
// System.IO.IOException:
// 打开文件时发生 I/O 错误。
//
// System.UnauthorizedAccessException:
// path 指定了一个只读文件。- 或 -在当前平台上不支持此操作。- 或 -path 指定了一个目录。- 或 -调用方没有所要求的权限。
//
// System.IO.FileNotFoundException:
// 未找到 path 中指定的文件。
//
// System.NotSupportedException:
// path 的格式无效。
//
// System.Security.SecurityException:
// 调用方没有所要求的权限。
public static string[] ReadAllLines(string path, Encoding encoding);
//
// 摘要:
// 打开一个文本文件,读取文件的所有行,然后关闭该文件。
//
// 参数:
// path:
// 要打开以进行读取的文件。
//
// 返回结果:
// 包含文件所有行的字符串。
//
// 异常:
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.IO.DirectoryNotFoundException:
// 指定的路径无效(例如,它位于未映射的驱动器上)。
//
// System.IO.IOException:
// 打开文件时发生 I/O 错误。
//
// System.UnauthorizedAccessException:
// path 指定了一个只读文件。- 或 -在当前平台上不支持此操作。- 或 -path 指定了一个目录。- 或 -调用方没有所要求的权限。
//
// System.IO.FileNotFoundException:
// 未找到 path 中指定的文件。
//
// System.NotSupportedException:
// path 的格式无效。
//
// System.Security.SecurityException:
// 调用方没有所要求的权限。
public static string ReadAllText(string path);
//
// 摘要:
// 打开一个文件,使用指定的编码读取文件的所有行,然后关闭该文件。
//
// 参数:
// path:
// 要打开以进行读取的文件。
//
// encoding:
// 应用到文件内容的编码。
//
// 返回结果:
// 包含文件所有行的字符串。
//
// 异常:
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.IO.DirectoryNotFoundException:
// 指定的路径无效(例如,它位于未映射的驱动器上)。
//
// System.IO.IOException:
// 打开文件时发生 I/O 错误。
//
// System.UnauthorizedAccessException:
// path 指定了一个只读文件。- 或 -在当前平台上不支持此操作。- 或 -path 指定了一个目录。- 或 -调用方没有所要求的权限。
//
// System.IO.FileNotFoundException:
// 未找到 path 中指定的文件。
//
// System.NotSupportedException:
// path 的格式无效。
//
// System.Security.SecurityException:
// 调用方没有所要求的权限。
public static string ReadAllText(string path, Encoding encoding);
//
// 摘要:
// 使用其他文件的内容替换指定文件的内容,这一过程将删除原始文件,并创建被替换文件的备份。
//
// 参数:
// sourceFileName:
// 替换由 destinationFileName 指定的文件的文件名。
//
// destinationFileName:
// 替换文件的名称。
//
// destinationBackupFileName:
// 备份文件的名称。
//
// 异常:
// System.ArgumentException:
// destinationFileName 参数描述的路径不是合法的格式。- 或 -destinationBackupFileName 参数描述的路径不是合法的格式。
//
// System.ArgumentNullException:
// destinationFileName 参数为 null。
//
// System.IO.DriveNotFoundException:
// 指定了无效的驱动器。
//
// System.IO.FileNotFoundException:
// 找不到当前 System.IO.FileInfo 对象所描述的文件。- 或 -找不到 destinationBackupFileName 参数所描述的文件。
//
// System.IO.IOException:
// 打开文件时发生 I/O 错误。- 或 -sourceFileName 和 destinationFileName 参数指定了相同的文件。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.PlatformNotSupportedException:
// 操作系统是 Windows 98 Second Edition 或更低版本,且文件系统不是 NTFS。
//
// System.UnauthorizedAccessException:
// sourceFileName 或 destinationFileName 参数指定了一个只读文件。- 或 -在当前平台上不支持此操作。- 或 -源参数或目标参数指定的是目录,而不是文件。-
// 或 -调用方没有所要求的权限。
public static void Replace(string sourceFileName, string destinationFileName, string destinationBackupFileName);
//
// 摘要:
// 用其他文件的内容替换指定文件的内容,删除原始文件,并创建被替换文件的备份和(可选)忽略合并错误。
//
// 参数:
// sourceFileName:
// 替换由 destinationFileName 指定的文件的文件名。
//
// destinationFileName:
// 替换文件的名称。
//
// destinationBackupFileName:
// 备份文件的名称。
//
// ignoreMetadataErrors:
// 如果忽略从被替换文件到替换文件的合并错误(如属性和访问控制列表 (ACL)),则为 true,否则为 false。
//
// 异常:
// System.ArgumentException:
// destinationFileName 参数描述的路径不是合法的格式。- 或 -destinationBackupFileName 参数描述的路径不是合法的格式。
//
// System.ArgumentNullException:
// destinationFileName 参数为 null。
//
// System.IO.DriveNotFoundException:
// 指定了无效的驱动器。
//
// System.IO.FileNotFoundException:
// 找不到当前 System.IO.FileInfo 对象所描述的文件。- 或 -找不到 destinationBackupFileName 参数所描述的文件。
//
// System.IO.IOException:
// 打开文件时发生 I/O 错误。- 或 -sourceFileName 和 destinationFileName 参数指定了相同的文件。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.PlatformNotSupportedException:
// 操作系统是 Windows 98 Second Edition 或更低版本,且文件系统不是 NTFS。
//
// System.UnauthorizedAccessException:
// sourceFileName 或 destinationFileName 参数指定了一个只读文件。- 或 -在当前平台上不支持此操作。- 或 -源参数或目标参数指定的是目录,而不是文件。-
// 或 -调用方没有所要求的权限。
public static void Replace(string sourceFileName, string destinationFileName, string destinationBackupFileName, bool ignoreMetadataErrors);
//
// 摘要:
// 对指定的文件应用由 System.Security.AccessControl.FileSecurity 对象描述的访问控制列表 (ACL) 项。
//
// 参数:
// path:
// 在其中添加或移除访问控制列表 (ACL) 项的文件。
//
// fileSecurity:
// 一个 System.Security.AccessControl.FileSecurity 对象,描述应用于由 path 参数描述的文件的 ACL
// 项。
//
// 异常:
// System.IO.IOException:
// 打开文件时发生 I/O 错误。
//
// System.Runtime.InteropServices.SEHException:
// path 参数为 null。
//
// System.SystemException:
// 未能找到文件。
//
// System.UnauthorizedAccessException:
// path 参数指定了一个只读文件。- 或 -在当前平台上不支持此操作。- 或 -path 参数指定了一个目录。- 或 -调用方没有所要求的权限。
//
// System.ArgumentNullException:
// fileSecurity 参数为 null。
public static void SetAccessControl(string path, FileSecurity fileSecurity);
//
// 摘要:
// 设置指定路径上文件的指定的 System.IO.FileAttributes。
//
// 参数:
// path:
// 该文件的路径。
//
// fileAttributes:
// 所需的 System.IO.FileAttributes,例如 Hidden、ReadOnly、Normal 和 Archive。
//
// 异常:
// System.ArgumentException:
// path 为空、只包含空白、包含无效字符或文件属性无效。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.NotSupportedException:
// path 的格式无效。
//
// System.IO.DirectoryNotFoundException:
// 指定的路径无效(例如,它位于未映射的驱动器上)。
//
// System.IO.FileNotFoundException:
// 无法找到该文件。
//
// System.UnauthorizedAccessException:
// path 指定了一个只读文件。- 或 -在当前平台上不支持此操作。- 或 -path 指定了一个目录。- 或 -调用方没有所要求的权限。
public static void SetAttributes(string path, FileAttributes fileAttributes);
//
// 摘要:
// 设置创建该文件的日期和时间。
//
// 参数:
// path:
// 要设置其创建日期和时间信息的文件。
//
// creationTime:
// System.DateTime,它包含要为 path 的创建日期和时间设置的值。该值用本地时间表示。
//
// 异常:
// System.IO.FileNotFoundException:
// 未找到指定的路径。
//
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.IO.IOException:
// 执行操作时发生 I/O 错误。
//
// System.ArgumentOutOfRangeException:
// creationTime 指定的值超出了该操作所允许的日期范围或时间范围,或同时超出了日期范围和时间范围。
//
// System.UnauthorizedAccessException:
// 调用方没有所要求的权限。
//
// System.NotSupportedException:
// path 的格式无效。
public static void SetCreationTime(string path, DateTime creationTime);
//
// 摘要:
// 设置文件创建的日期和时间,其格式为协调通用时间 (UTC)。
//
// 参数:
// path:
// 要设置其创建日期和时间信息的文件。
//
// creationTimeUtc:
// System.DateTime,它包含要为 path 的创建日期和时间设置的值。该值用 UTC 时间表示。
//
// 异常:
// System.IO.FileNotFoundException:
// 未找到指定的路径。
//
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.IO.IOException:
// 执行操作时发生 I/O 错误。
//
// System.ArgumentOutOfRangeException:
// creationTime 指定的值超出了该操作所允许的日期范围或时间范围,或同时超出了日期范围和时间范围。
//
// System.UnauthorizedAccessException:
// 调用方没有所要求的权限。
//
// System.NotSupportedException:
// path 的格式无效。
public static void SetCreationTimeUtc(string path, DateTime creationTimeUtc);
//
// 摘要:
// 设置上次访问指定文件的日期和时间。
//
// 参数:
// path:
// 要设置其访问日期和时间信息的文件。
//
// lastAccessTime:
// System.DateTime,它包含要为 path 的上次访问日期和时间设置的值。该值用本地时间表示。
//
// 异常:
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.IO.FileNotFoundException:
// 未找到指定的路径。
//
// System.UnauthorizedAccessException:
// 调用方没有所要求的权限。
//
// System.NotSupportedException:
// path 的格式无效。
//
// System.ArgumentOutOfRangeException:
// lastAccessTime 指定超出该操作允许的日期或时间范围的值。
public static void SetLastAccessTime(string path, DateTime lastAccessTime);
//
// 摘要:
// 设置上次访问指定的文件的日期和时间,其格式为协调通用时间 (UTC)。
//
// 参数:
// path:
// 要设置其访问日期和时间信息的文件。
//
// lastAccessTimeUtc:
// System.DateTime,它包含要为 path 的上次访问日期和时间设置的值。该值用 UTC 时间表示。
//
// 异常:
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.IO.FileNotFoundException:
// 未找到指定的路径。
//
// System.UnauthorizedAccessException:
// 调用方没有所要求的权限。
//
// System.NotSupportedException:
// path 的格式无效。
//
// System.ArgumentOutOfRangeException:
// lastAccessTimeUtc 指定超出该操作允许的日期或时间范围的值。
public static void SetLastAccessTimeUtc(string path, DateTime lastAccessTimeUtc);
//
// 摘要:
// 设置上次写入指定文件的日期和时间。
//
// 参数:
// path:
// 要设置其日期和时间信息的文件。
//
// lastWriteTime:
// System.DateTime,它包含要为 path 的上次写入日期和时间设置的值。该值用本地时间表示。
//
// 异常:
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.IO.FileNotFoundException:
// 未找到指定的路径。
//
// System.UnauthorizedAccessException:
// 调用方没有所要求的权限。
//
// System.NotSupportedException:
// path 的格式无效。
//
// System.ArgumentOutOfRangeException:
// lastWriteTime 指定超出该操作允许的日期或时间范围的值。
public static void SetLastWriteTime(string path, DateTime lastWriteTime);
//
// 摘要:
// 设置上次写入指定的文件的日期和时间,其格式为协调通用时间 (UTC)。
//
// 参数:
// path:
// 要设置其日期和时间信息的文件。
//
// lastWriteTimeUtc:
// System.DateTime,它包含要为 path 的上次写入日期和时间设置的值。该值用 UTC 时间表示。
//
// 异常:
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.IO.FileNotFoundException:
// 未找到指定的路径。
//
// System.UnauthorizedAccessException:
// 调用方没有所要求的权限。
//
// System.NotSupportedException:
// path 的格式无效。
//
// System.ArgumentOutOfRangeException:
// lastWriteTimeUtc 指定超出该操作允许的日期或时间范围的值。
public static void SetLastWriteTimeUtc(string path, DateTime lastWriteTimeUtc);
//
// 摘要:
// 创建一个新文件,在其中写入指定的字节数组,然后关闭该文件。如果目标文件已存在,则覆盖该文件。
//
// 参数:
// path:
// 要写入的文件。
//
// bytes:
// 要写入文件的字节。
//
// 异常:
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null 或字节数组为空。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.IO.DirectoryNotFoundException:
// 指定的路径无效(例如,它位于未映射的驱动器上)。
//
// System.IO.IOException:
// 打开文件时发生 I/O 错误。
//
// System.UnauthorizedAccessException:
// path 指定了一个只读文件。- 或 -在当前平台上不支持此操作。- 或 -path 指定了一个目录。- 或 -调用方没有所要求的权限。
//
// System.IO.FileNotFoundException:
// 未找到 path 中指定的文件。
//
// System.NotSupportedException:
// path 的格式无效。
//
// System.Security.SecurityException:
// 调用方没有所要求的权限。
public static void WriteAllBytes(string path, byte[] bytes);
//
// 摘要:
// 创建一个新文件,在其中写入指定的字符串数组,然后关闭该文件。如果目标文件已存在,则覆盖该文件。
//
// 参数:
// path:
// 要写入的文件。
//
// contents:
// 要写入文件的字符串数组。
//
// 异常:
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.IO.DirectoryNotFoundException:
// 指定的路径无效(例如,它位于未映射的驱动器上)。
//
// System.IO.IOException:
// 打开文件时发生 I/O 错误。
//
// System.UnauthorizedAccessException:
// path 指定了一个只读文件。- 或 -在当前平台上不支持此操作。- 或 -path 指定了一个目录。- 或 -调用方没有所要求的权限。
//
// System.IO.FileNotFoundException:
// 未找到 path 中指定的文件。
//
// System.NotSupportedException:
// path 的格式无效。
//
// System.Security.SecurityException:
// 调用方没有所要求的权限。
public static void WriteAllLines(string path, string[] contents);
//
// 摘要:
// 创建一个新文件,使用指定的编码在其中写入指定的字符串数组,然后关闭文件。如果目标文件已存在,则覆盖该文件。
//
// 参数:
// path:
// 要写入的文件。
//
// contents:
// 要写入文件的字符串数组。
//
// encoding:
// 一个 System.Text.Encoding 对象,表示应用于字符串数组的字符编码。
//
// 异常:
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null 或内容字符串为空。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.IO.DirectoryNotFoundException:
// 指定的路径无效(例如,它位于未映射的驱动器上)。
//
// System.IO.IOException:
// 打开文件时发生 I/O 错误。
//
// System.UnauthorizedAccessException:
// path 指定了一个只读文件。- 或 -在当前平台上不支持此操作。- 或 -path 指定了一个目录。- 或 -调用方没有所要求的权限。
//
// System.IO.FileNotFoundException:
// 未找到 path 中指定的文件。
//
// System.NotSupportedException:
// path 的格式无效。
//
// System.Security.SecurityException:
// 调用方没有所要求的权限。
public static void WriteAllLines(string path, string[] contents, Encoding encoding);
//
// 摘要:
// 创建一个新文件,在其中写入指定的字符串,然后关闭文件。如果目标文件已存在,则覆盖该文件。
//
// 参数:
// path:
// 要写入的文件。
//
// contents:
// 要写入文件的字符串。
//
// 异常:
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.IO.DirectoryNotFoundException:
// 指定的路径无效(例如,它位于未映射的驱动器上)。
//
// System.IO.IOException:
// 打开文件时发生 I/O 错误。
//
// System.UnauthorizedAccessException:
// path 指定了一个只读文件。- 或 -在当前平台上不支持此操作。- 或 -path 指定了一个目录。- 或 -调用方没有所要求的权限。
//
// System.IO.FileNotFoundException:
// 未找到 path 中指定的文件。
//
// System.NotSupportedException:
// path 的格式无效。
//
// System.Security.SecurityException:
// 调用方没有所要求的权限。
public static void WriteAllText(string path, string contents);
//
// 摘要:
// 创建一个新文件,在其中写入指定的字符串,然后关闭文件。如果目标文件已存在,则覆盖该文件。
//
// 参数:
// path:
// 要写入的文件。
//
// contents:
// 要写入文件的字符串。
//
// encoding:
// 一个 System.Text.Encoding 对象,表示应用于字符串的编码。
//
// 异常:
// System.ArgumentException:
// path 是一个零长度字符串,仅包含空白或者包含一个或多个由 System.IO.Path.InvalidPathChars 定义的无效字符。
//
// System.ArgumentNullException:
// path 为 null 或内容字符串为空。
//
// System.IO.PathTooLongException:
// 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260
// 个字符。
//
// System.IO.DirectoryNotFoundException:
// 指定的路径无效(例如,它位于未映射的驱动器上)。
//
// System.IO.IOException:
// 打开文件时发生 I/O 错误。
//
// System.UnauthorizedAccessException:
// path 指定了一个只读文件。- 或 -在当前平台上不支持此操作。- 或 -path 指定了一个目录。- 或 -调用方没有所要求的权限。
//
// System.IO.FileNotFoundException:
// 未找到 path 中指定的文件。
//
// System.NotSupportedException:
// path 的格式无效。
//
// System.Security.SecurityException:
// 调用方没有所要求的权限。
public static void WriteAllText(string path, string contents, Encoding encoding);
}
}

五、简单示例

            //在应用程序当前目录下的File1.txt文件中追加文件内容,如果文件不存在就创建,默认编码
File.AppendAllText("File1.txt", "这是文件内容A"); //在C盘根目录下的File2.txt文件中追加文件内容,如果文件不存在就创建,指定编码为UTF8
File.AppendAllText(@"c:\File2.txt", "这是文件内容B",Encoding.UTF8); //读取应用程序当前目录下的File1.txt文件内容
String content = File.ReadAllText(@"File1.txt");
MessageBox.Show(content); //将C盘根目录下的File2.txt文件加密
File.Encrypt(@"c:\File2.txt"); /*
File.WriteAllLines("path",new string[4] ,Encoding.Default);//将string数组按行写入文件。
File.WriteAllText("path","string");//将字符串全部写入文件
File.WriteAllBytes("path",newbyte[5]);//将byte[]全部写入到文件
File.AppendAllText()//将string追加到文件 File.ReadAllLines("path",Encoding.Default);//读取所有行,返回string[]
File.ReadAllText("path",Encoding.Default);//读取所有文本返回string
File.ReadAllBytes("path");//读取文件,返回byte[],把文件作为二进制来处理。 File.Copy("source","targetFileName",true);//文件拷贝,true表示当文件存在时"覆盖",如果不加true,则文件存在报异常。
File.Exists();//判断文件是否存在
File.Move("source","target");//移动(剪切),思考如何为文件重命名?文件的剪切是可以跨磁盘的。
File.Delete("path");//删除。如果文件不存在?不存在,不报错
File.Create("path");//创建文件
*/

C#快速读写文件的更多相关文章

  1. Python读写文件乱码问题

    对开发者来说,最恼人的问题之一莫过于读写文件的时候,由于编码千差万别,出现乱码问题.好难快速解决啊... 最近我也遇到了这样的问题,经研究,把大致的解决思路拿出来共享. 1. python中习惯首先声 ...

  2. Qt的Model/View Framework解析(数据是从真正的“肉(raw)”里取得,Model提供肉,所以读写文件、操作数据库、网络通讯等一系列与数据打交道的工作就在model中做了)

    最近在看Qt的Model/View Framework,在网上搜了搜,好像中文的除了几篇翻译没有什么有价值的文章.E文的除了Qt的官方介绍,其它文章也很少.看到一个老外在blog中写道Model/Vi ...

  3. Go标准库之读写文件(File)

    Go标准库之读写文件(File) 创建一个空文件 package main import ( "log" "os" ) func main() { file, ...

  4. Win10如何搭建FTP服务器以实现快速传输文件

    原文链接地址:http://blog.csdn.net/bai_langtao/article/details/77751447 Win10如何搭建FTP服务器以实现快速传输文件?相信大家在工作或生活 ...

  5. Qt 下快速读写Excel指南(尘中远)

    Qt Windows 下快速读写Excel指南 很多人搜如何读写excel都会看到用QAxObject来进行操作,很多人试了之后都会发现一个问题,就是慢,非常缓慢!因此很多人得出结论是QAxObjec ...

  6. phpspreadsheet 中文文档(六)读写文件+读取文件

    2019年10月11日14:05:58 读写文件 从体系结构您已经知道,使用基本PhpSpreadsheet类无法对持久性存储进行读写.为此,PhpSpreadsheet提供读者和作家,这是实现\Ph ...

  7. Python:读写文件(I/O) | 组织文件

    1. I/O 概述  程序与用户交互涉及到程序的输入输出(I/O) 一种类型是字符串,通过input() 和 print() 函数以及数据类型转换类函数如(int()),实现数据的输入输出. 另一种类 ...

  8. 顺序、随机IO和Java多种读写文件性能对比

    概述 对于磁盘的读写分为两种模式,顺序IO和随机IO. 随机IO存在一个寻址的过程,所以效率比较低.而顺序IO,相当于有一个物理索引,在读取的时候不需要寻找地址,效率很高. 基本流程 总体结构 我们编 ...

  9. C# 读写文件从用户态切到内核态,到底是个什么流程?

    一:背景 1. 一个很好奇的问题 我们在学习 C# 的过程中,总会听到一个词叫做 内核态 ,比如说用 C# 读写文件,会涉及到代码从 用户态 到 内核态 的切换,用 HttpClient 获取远端的数 ...

随机推荐

  1. cxgrid回车移到下一个单元格

    cxgrid回车移到下一个单元格   cxgrid回车移到下一个单元格 作用:表格式录入全键盘操作. 设置cxgrid1Dbtableview1.optionsBehavior.goToNextCel ...

  2. IIS日志存入数据库之一:ODBC

    园内@Fish Li的文章<IIS日志-网站运维的好帮手>中介绍将IIS的文本格式的文件导入数据库的方法.在实践中,我们发现导数据的速度很慢,一个200M的日志文件居然要近100分钟.我们 ...

  3. nginx 访问频率控制

    Nginx访问频率控制 HTTP服务器的吞吐率(单位时间吞吐量)通常有一个上限,尤其是普通配置的机器,在带宽够的情况下,用压测工具经常能把服务器压出翔,为了线上环境稳定性,防止恶意攻击影响到其他用户, ...

  4. css中“~”和“>”是什么意思

    p~ul选择器 p之后出现的所有ul. 两种元素必须拥有相同的父元素,但是 ul不必直接紧随 p. css中“>”是: css3特有的选择器,A>B 表示选择A元素的所有子B元素. 与A ...

  5. WPF App.xaml.cs常用模板,包括:异常捕获,App只能启动一次

    App.xaml.cs中的代码每次都差不多,故特地将其整理出来直接复用: using System; using System.Configuration; using System.Diagnost ...

  6. JavaScript 知识

    1. js中this表示当前标签,获取当前标签内的属性,示例如下: var user_id = $(this).attr("data-user-id"); 2.   * js中va ...

  7. SpringCloud之Ribbon

    一:Ribbon是什么?  Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起.Ribbon客户端组件提供一系列完善的配置项如连 ...

  8. cookie和session的区别,分布式环境怎么保存用户状态

    cookie和session的区别,分布式环境怎么保存用户状态 1.cookie数据存放在客户的浏览器上,session数据放在服务器上. 2.cookie不是很安全,别人可以分析存放在本地的COOK ...

  9. Oracle VM VirtualBox启动后莫名奇妙的报错

    VirtualBox软件无法启动: 参考解决:http://blog.csdn.net/a_ssimi/article/details/52002939 修改兼容性:http://blog.csdn. ...

  10. 剑指offer十四之链表中倒数第k个结点

    一.题目 输入一个链表,输出该链表中倒数第k个结点. 二.思路 两个指针,先让第一个指针和第二个指针都指向头结点,然后再让第一个指正走(k-1)步,到达第k个节点.然后两个指针同时往后移动,当第一个结 ...