文章转自:https://msdn.microsoft.com/zh-cn/library/system.io.file(v=vs.110).aspx
提供用于创建、复制、删除、移动和打开单一文件的静态方法,并协助创建 FileStream 对象。
若要浏览此类型的.NET Framework 源代码,请参阅 Reference Source。
继承层次结构
System.Object
System.IO.File
方法
名称 | 说明 | |
---|---|---|
![]() ![]() |
AppendAllLines(String, IEnumerable(Of String)) | 向一个文件中追加行,然后关闭该文件。 如果指定文件不存在,此方法会创建一个文件,向其中写入指定的行,然后关闭该文件。 |
![]() ![]() |
AppendAllLines(String, IEnumerable(Of String), Encoding) | 使用指定的编码向一个文件中追加行,然后关闭该文件。 如果指定文件不存在,此方法会创建一个文件,向其中写入指定的行,然后关闭该文件。 |
![]() ![]() |
AppendAllText(String, String) | 打开一个文件,向其中追加指定的字符串,然后关闭该文件。 如果文件不存在,此方法将创建一个文件,将指定的字符串写入文件,然后关闭该文件。 |
![]() ![]() |
AppendAllText(String, String, Encoding) | 将指定的字符串追加到文件中,如果文件还不存在则创建该文件。 |
![]() ![]() |
AppendText(String) | 创建一个 StreamWriter,它将 UTF-8 编码文本追加到现有文件或新文件(如果指定文件不存在)。 |
![]() ![]() |
Copy(String, String) | 将现有文件复制到新文件。 不允许覆盖同名的文件。 |
![]() ![]() |
Copy(String, String, Boolean) | 将现有文件复制到新文件。 允许覆盖同名的文件。 |
![]() ![]() |
Create(String) | 在指定路径中创建或覆盖文件。 |
![]() ![]() |
Create(String, Int32) | 创建或覆盖指定的文件。 |
![]() ![]() |
Create(String, Int32, FileOptions) | 创建或覆盖指定的文件,指定缓冲区大小和一个描述如何创建或覆盖该文件的 FileOptions 值。 |
![]() ![]() |
Create(String, Int32, FileOptions, FileSecurity) | 创建或覆盖具有指定的缓冲区大小、文件选项和文件安全性的指定文件。 |
![]() ![]() |
CreateText(String) | 创建或打开用于写入 UTF-8 编码文本的文件。 |
![]() ![]() |
Decrypt(String) | 使用 Encrypt 方法解密由当前帐户加密的文件。 |
![]() ![]() |
Delete(String) | 删除指定的文件。 |
![]() ![]() |
Encrypt(String) | 将某个文件加密,使得只有加密该文件的帐户才能将其解密。 |
![]() ![]() |
Exists(String) | 确定指定的文件是否存在。 |
![]() ![]() |
GetAccessControl(String) | 获取一个 FileSecurity 对象,它封装指定文件的访问控制列表 (ACL) 条目。 |
![]() ![]() |
GetAccessControl(String, AccessControlSections) | 获取一个 FileSecurity 对象,封装特定文件的指定类型的访问控制列表 (ACL) 项。 |
![]() ![]() |
GetAttributes(String) | 获取在此路径上的文件的 FileAttributes。 |
![]() ![]() |
GetCreationTime(String) | 返回指定文件或目录的创建日期和时间。 |
![]() ![]() |
GetCreationTimeUtc(String) | 返回指定的文件或目录的创建日期及时间,其格式为协调通用时 (UTC)。 |
![]() ![]() |
GetLastAccessTime(String) | 返回上次访问指定文件或目录的日期和时间。 |
![]() ![]() |
GetLastAccessTimeUtc(String) | 返回上次访问指定的文件或目录的日期及时间,其格式为协调通用时 (UTC)。 |
![]() ![]() |
GetLastWriteTime(String) | 返回上次写入指定文件或目录的日期和时间。 |
![]() ![]() |
GetLastWriteTimeUtc(String) | 返回上次写入指定的文件或目录的日期和时间,其格式为协调通用时 (UTC)。 |
![]() ![]() |
Move(String, String) | 将指定文件移到新位置,提供要指定新文件名的选项。 |
![]() ![]() |
Open(String, FileMode) | 以读/写访问权限打开指定路径上的 FileStream。 |
![]() ![]() |
Open(String, FileMode, FileAccess) | 以指定的模式和访问权限打开指定路径上的 FileStream。 |
![]() ![]() |
Open(String, FileMode, FileAccess, FileShare) | 打开指定路径上的 FileStream,具有带读、写或读/写访问的指定模式和指定的共享选项。 |
![]() ![]() |
OpenRead(String) | 打开现有文件以进行读取。 |
![]() ![]() |
OpenText(String) | 打开现有 UTF-8 编码文本文件以进行读取。 |
![]() ![]() |
OpenWrite(String) | 打开一个现有文件或创建一个新文件以进行写入。 |
![]() ![]() |
ReadAllBytes(String) | 打开一个二进制文件,将文件的内容读入一个字节数组,然后关闭该文件。 |
![]() ![]() |
ReadAllLines(String) | 打开一个文本文件,读取文件的所有行,然后关闭该文件。 |
![]() ![]() |
ReadAllLines(String, Encoding) | 打开一个文件,使用指定的编码读取文件的所有行,然后关闭该文件。 |
![]() ![]() |
ReadAllText(String) | 打开一个文本文件,读取文件的所有行,然后关闭该文件。 |
![]() ![]() |
ReadAllText(String, Encoding) | 打开一个文件,使用指定的编码读取文件的所有行,然后关闭该文件。 |
![]() ![]() |
ReadLines(String) | 读取文件的行。 |
![]() ![]() |
ReadLines(String, Encoding) | 读取具有指定编码的文件的行。 |
![]() ![]() |
Replace(String, String, String) | 使用其他文件的内容替换指定文件的内容,这一过程将删除原始文件,并创建被替换文件的备份。 |
![]() ![]() |
Replace(String, String, String, Boolean) | 用其他文件的内容替换指定文件的内容,这一过程将删除原始文件,并创建被替换文件的备份,还可以忽略合并错误。 |
![]() ![]() |
SetAccessControl(String, FileSecurity) | 将 FileSecurity 对象描述的访问控制列表 (ACL) 项应用于指定的文件。 |
![]() ![]() |
SetAttributes(String, FileAttributes) | 获取指定路径上的文件的指定 FileAttributes。 |
![]() ![]() |
SetCreationTime(String, DateTime) | 设置创建该文件的日期和时间。 |
![]() ![]() |
SetCreationTimeUtc(String, DateTime) | 设置文件创建的日期和时间,其格式为协调通用时 (UTC)。 |
![]() ![]() |
SetLastAccessTime(String, DateTime) | 设置上次访问指定文件的日期和时间。 |
![]() ![]() |
SetLastAccessTimeUtc(String, DateTime) | 设置上次访问指定的文件的日期和时间,其格式为协调通用时 (UTC)。 |
![]() ![]() |
SetLastWriteTime(String, DateTime) | 设置上次写入指定文件的日期和时间。 |
![]() ![]() |
SetLastWriteTimeUtc(String, DateTime) | 设置上次写入指定的文件的日期和时间,其格式为协调通用时 (UTC)。 |
![]() ![]() |
WriteAllBytes(String, Byte()) | 创建一个新文件,在其中写入指定的字节数组,然后关闭该文件。 如果目标文件已存在,则覆盖该文件。 |
![]() ![]() |
WriteAllLines(String, IEnumerable(Of String)) | 创建一个新文件,向其中写入一个字符串集合,然后关闭该文件。 |
![]() ![]() |
WriteAllLines(String, IEnumerable(Of String), Encoding) | 使用指定的编码创建一个新文件,向其中写入一个字符串集合,然后关闭该文件。 |
![]() ![]() |
WriteAllLines(String, String()) | 创建一个新文件,在其中写入指定的字节数组,然后关闭该文件。 |
![]() ![]() |
WriteAllLines(String, String(), Encoding) | 创建一个新文件,使用指定编码在其中写入指定的字符串数组,然后关闭该文件。 |
![]() ![]() |
WriteAllText(String, String) | 创建一个新文件,向其中写入指定的字符串,然后关闭文件。 如果目标文件已存在,则覆盖该文件。 |
![]() ![]() |
WriteAllText(String, String, Encoding) | 创建一个新文件,使用指定编码向其中写入指定的字符串,然后关闭文件。 如果目标文件已存在,则覆盖该文件。 |
备注
![]() |
---|
若要查看此类型的.NET Framework 源代码,请参阅 Reference Source。 您可以浏览源代码、 下载脱机查看参考资料和调试; 在逐句通过源 (包括修补程序和更新)see instructions. |
使用 File 类用于典型操作,如复制、 移动、 重命名、 创建、 打开、 删除和一次将追加到单个文件。 您还可以使用 File 类用于获取和设置文件属性或 DateTime 与创建过程中,相关的信息访问及文件的写入。 如果您想要在多个文件上执行操作,请参阅 Directory.GetFiles 或 DirectoryInfo.GetFiles。
许多 File 方法返回其他 I/O 类型,创建或打开文件时。 您可以使用这些其他类型以进一步处理文件。 有关详细信息,请参阅特定 File 成员,如 OpenText, ,CreateText, ,或 Create。
因为所有 File 方法是静态的可能会更有效地使用 File 方法,而不是相应 FileInfo 实例方法,如果您想要执行多项操作。 所有 File 方法要求您对所操作的文件的路径。
静态方法 File 类执行的所有方法的安全检查。 如果您打算多次重用对象,请考虑使用的相应的实例方法 FileInfo 相反,因为安全不总是检查将会有必要。
默认情况下,对新文件的完全读/写访问权限授予所有用户。
下表描述了用于自定义的各种行为的枚举 File 方法。
枚举 |
描述 |
---|---|
FileAccess |
指定读取和写入到文件的访问。 |
FileShare |
指定的文件,已在使用允许的访问级别。 |
FileMode |
指定现有文件的内容是保留还是覆盖,以及请求创建现有文件是否会导致异常。 |
![]() |
---|
在接受路径作为输入字符串的成员,该路径必须是格式良好或引发异常。 例如,如果路径是完全限定名称,但空格开头,该路径不会被修剪中类的方法。 因此,该路径的格式不正确,并且将引发异常。 同样,路径的组合不能完全限定两次。 例如,"c:\temp c:\windows"也会引发异常在大多数情况下。 确保您的路径是格式良好,当使用接受将路径字符串的方法。 |
在接受路径的成员,该路径可以引用的文件或只是一个目录。 指定的路径也可以指的相对路径或服务器和共享名称的通用命名约定 (UNC) 路径。 例如,以下所有条件都可接受的路径︰
在 C# 中,"c:\\MyDir\\MyFile.txt"或者"c:\MyDir\MyFile.txt"在 Visual Basic 中。
在 C# 中,"c:\\MyDir"或者"c:\MyDir"在 Visual Basic 中。
"MyDir\\MySubdir"在 C# 或 Visual Basic 中的"MyDir\MySubDir"。
在 C# 中,"\\\MyServer\\MyShare"或者"\\MyServer\MyShare"在 Visual Basic 中。
通用 I/O 任务的列表,请参阅 通用 I/O 任务。
线程安全
此类型的所有公共静态(Visual Basic 中的 已共享 在 Visual Basic 中)成员都是线程安全的。不保证所有实例成员都是线程安全的。