猿教程 Logo

C# File类

阿里云服务器,每月低至7.8元,项目演示即建站必备,比腾讯云更便宜,并且不需学生认证,从此链接购买有效:去购买

C#提供以下类来处理文件系统。 它们可用于访问目录,访问文件,打开文件进行读取或写入,创建新文件或将现有文件从一个位置移动到另一个位置等。

类名称描述
FileFile是一个静态类,它提供不同的功能,如复制,创建,移动,删除,打开读/写,加密或解密,检查文件是否存在,将行或文本附加到文件的内容, 等等
FileInfo FileInfo类提供与静态File类相同的功能。 您可以通过手动写入代码来读取或写入文件中的字节,从而更好地控制对文件的读/写操作。
DirectoryDirectory是一个静态类,提供创建,移动,删除和访问子目录的功能。
DirectoryInfoDirectoryInfo提供用于创建,移动,删除和访问子目录的实例方法。
PathPath是提供诸如检索文件的扩展,更改文件的扩展名,检索绝对物理路径以及其他路径相关功能等功能的静态类。

File

C#包括静态的File类,以在物理文件系统上执行I / O操作。 静态File类包括各种实用程序方法,以与任何类型的物理文件进行交互。 二进制,文本等。

使用此静态File类对物理文件执行一些快速操作。 由于性能原因,不建议同时使用File类对多个文件进行多个操作。 在该场景中使用FileInfo类。


File类的主要方法

方法名称描述
AppendAllLines将行添加到文件,然后关闭文件。如果指定的文件不存在,此方法将创建一个文件,将指定的行写入文件,然后关闭文件。
AppendAllText打开文件,将指定的字符串附加到文件,然后关闭文件。如果文件不存在,此方法将创建一个文件,将指定的字符串写入文件,然后关闭文件。
AppendText创建将UTF-8编码文本附加到现有文件的StreamWriter,如果指定的文件不存在,则创建新文件。
Copy将现有文件复制到新文件。不允许覆盖同名的文件。
Create在指定的路径中创建或覆盖文件。
CreateText创建或打开用于编写UTF-8编码文本的文件。
Decrypt解密由当前帐户使用加密方法加密的文件。
Delete删除指定的文件。
Encrypt加密文件,以便只有用于加密文件的帐户才能对其进行解密。
Exists确定指定的文件是否存在。
GetAccessControl获取封装指定文件的访问控制列表(ACL)条目的FileSecurity对象。
Move将指定的文件移动到新位置,提供指定新文件名的选项。
Open在具有读/写访问权限的指定路径上打开FileStream。
ReadAllBytes打开二进制文件,将文件的内容读入字节数组,然后关闭文件。
ReadAllLines打开文本文件,读取文件的所有行,然后关闭文件。
ReadAllText打开文本文件,读取文件的所有行,然后关闭文件。
Replace指定文件的内容替换为另一个文件的内容,删除原始文件,并创建替换文件的备份。
WriteAllBytes创建一个新文件,将指定的字节数组写入文件,然后关闭文件。如果目标文件已存在,它将被覆盖。
WriteAllLines创建一个新文件,将一组字符串写入文件,然后关闭该文件。
WriteAllText创建一个新文件,将指定的字符串写入文件,然后关闭文件。如果目标文件已存在,它将被覆盖。

AppendAllLines

使用AppendAllLines()方法将多个文本行附加到指定的文件,如下所示。

相关实例:

string dummyLines = "This is first line." + Environment.NewLine +
                    "This is second line." + Environment.NewLine +
                    "This is third line.";

//Opens DummyFile.txt and append lines. If file is not exists then create and open.
File.AppendAllLines(@"C:\DummyFile.txt", dummyLines.Split(Environment.NewLine.ToCharArray()).ToList());

AppendAllText

使用File.AppendAllText()方法将字符串附加到单行代码中的文件,如下所示。

相关实例:

//Opens DummyFile.txt and append Text. If file is not exists then create and open.
File.AppendAllText(@"C:\ DummyFile.txt", "This is File testing");

覆盖现有文件

使用File.WriteAllText()方法将文本写入文件。 请注意,它不会附加文本,但会覆盖现有文本。

相关实例:

//Opens DummyFile.txt and write texts. If file is not exists then create and open.
File.WriteAllText(@"C:\DummyFile.txt", "This is dummy text");

以下示例显示如何使用静态的File类执行不同的操作。

相关实例:

//Check whether file is exists or not at particular location
bool isFileExists = File.Exists(@"C:\ DummyFile.txt"); // returns false

//Copy DummyFile.txt as new file DummyFileNew.txt
File.Copy(@"C:\DummyFile.txt", @"D:\NewDummyFile.txt");

//Get when the file was accessed last time 
DateTime lastAccessTime = File.GetLastAccessTime(@"C:\DummyFile.txt");

//get when the file was written last time
DateTime lastWriteTime = File.GetLastWriteTime(@"C:\DummyFile.txt");

// Move file to new location
File.Move(@"C:\DummyFile.txt", @"D:\DummyFile.txt");

//Open file and returns FileStream for reading bytes from the file
FileStream fs = File.Open(@"D:\DummyFile.txt", FileMode.OpenOrCreate);

//Open file and return StreamReader for reading string from the file
StreamReader sr = File.OpenText(@"D:\DummyFile.txt");
    
//Delete file
File.Delete(@"C:\DummyFile.txt");

因此,使用静态File类很容易使用物理文件。 但是,如果你想要更多的灵活性,那么使用FileInfo类。 同样,使用静态Directory类来处理物理目录。

重点
  1. File是一个静态类,从物理文件以较少的编码读取\写入。

  2. 静态的File类提供了诸如物理文件的创建,读/写,复制,移动,删除和其他功能。

  3. 静态的Directory 类提供诸如创建,复制,移动,删除等用于具有较少编码的物理目录的功能。

  4. FileInfo和DirectoryInfo类提供与静态文件和目录类相同的功能。

访问MSDN了解静态File类的所有方法。

在下一部分中将了解FileInfo类。

阿里云服务器,每月低至7.8元,项目演示即建站必备,比腾讯云更便宜,并且不需学生认证,从此链接购买有效: 去购买


版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/CSharp/Csharp-file.html