C# 包含静态 File 类以在物理文件系统上执行 I/O 操作。静态 File 类包括各种实用方法来与任何类型的物理文件进行交互,例如二进制,文本等
使用这个静态 File 类对物理文件执行一些快速操作。由于性能原因,不建议使用 File 类同时对多个文件进行多个操作。在这种情况下使用 FileInfo 类。
File 的重要方法
方法 | 用法 |
---|---|
AppendAllLines | 在文件中追加行,然后关闭文件。如果指定的文件不存在,此方法会创建一个文件,将指定的行写入文件,然后关闭文件。 |
AppendAllText | 打开文件,将指定的字符串附加到文件,然后关闭文件。如果文件不存在,此方法会创建一个文件,将指定的字符串写入文件,然后关闭文件。 |
AppendText | 创建一个 StreamWriter,它将 UTF-8 编码的文本附加到现有文件,如果指定的文件不存在,则附加到新文件。 |
Copy | 将现有文件复制到新文件。不允许覆盖同名文件。 |
Create | 创建或覆盖指定路径中的文件。 返回一个FileStream |
CreateText | 创建或打开用于写入 UTF-8 编码文本的文件。 返回一个StreamWriter |
Decrypt | 解密当前帐户使用加密方法加密的文件。 (依赖于CSP) |
Delete | 删除指定的文件。 |
Encrypt | 加密文件,以便只有用于加密文件的帐户才能对其进行解密。 (依赖于CSP) |
Exists | 确定指定的文件是否存在。 |
Move | 将指定文件移动到新位置,提供指定新文件名的选项。 |
Open | 在指定路径上打开一个具有读/写访问权限的 FileStream。 |
ReadAllBytes | 打开二进制文件,将文件内容读入字节数组,然后关闭文件。 |
ReadAllLines | 打开一个文本文件,读取文件的所有行,然后关闭文件。 |
ReadAllText | 打开一个文本文件,读取文件的所有行,然后关闭文件。 |
Replace | 用另一个文件的内容替换指定文件的内容,删除原始文件,并创建替换文件的备份。 |
WriteAllBytes | 创建一个新文件,将指定的字节数组写入文件,然后关闭文件。如果目标文件已经存在,它会被覆盖。 |
WriteAllLines | 创建一个新文件,将一组字符串写入该文件,然后关闭该文件。 |
WriteAllText | 创建一个新文件,将指定的字符串写入文件,然后关闭文件。如果目标文件已经存在,它会被覆盖。 |
File是在System.IO下面的,所以我们得引用这个命名空间
using System.IO;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
File.AppendAllText(@"C:\DummyFile.txt", "hello");
}
}
}
第一个参数是文件的路径。上面的例子是绝对路径。除了这个还有相对路径。在.netcore下面正常是以程序运行所在位置为起点。(web,Api的可能会不一样)。
使用 File.WriteAllText() 方法将文本写入文件。 请注意,它不会附加文本,而是覆盖现有文本。
static void Main(string[] args)
{
File.WriteAllText(@"C:\DummyFile.txt", "hello");
}
使用 AppendAllLines() 方法去添加一组字符串
static void Main(string[] args)
{
var dummyLines = new List<string>()
{
"This is first line.",
"This is second line.",
"This is third line."
};
File.AppendAllLines(@"C:\DummyFile.txt", dummyLines);
}
class Program
{
static void Main(string[] args)
{
//判断文件是否存在
bool isFileExists = File.Exists(@$"C:\absdfs545654{Guid.NewGuid()}.txt"); // returns false
//把文件 DummyFile.txt 拷到新的位置
File.Copy(@"C:\DummyFile.txt", @"D:\NewDummyFile.txt");
//获取最后访问时间
DateTime lastAccessTime = File.GetLastAccessTime(@"C:\DummyFile.txt");
//获取最后写入时间
DateTime lastWriteTime = File.GetLastWriteTime(@"C:\DummyFile.txt");
// 把文件移到新的位置
File.Move(@"C:\DummyFile.txt", @"D:\DummyFile.txt");
//打开文件。后续要用 fs来操作
FileStream fs = File.Open(@"D:\DummyFile.txt", FileMode.OpenOrCreate);
//打开文件流
StreamReader sr = File.OpenText(@"D:\DummyFile.txt");
//删除文件
File.Delete(@"C:\DummyFile.txt");
}
}