C#快速读写文件
一、写入
//在应用程序当前目录下的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");//创建文件 */