首页 > 编程笔记 > C#笔记 阅读:4

C# File类的用法(附带实例)

File 是一个静态类,这个类提供复制、创建、移动、删除、打开文件、加密、解密、检查文件是否存在、将文字数据附加在原文件后面、取得文件最后访问时间等功能。

使用 File 类常用操作文件的方法如下所示:

名称 说明
AppendAllText() 打开文件,将指定内容附加到该文件中,然后关闭文件。如果文件不存在,则创建一个文件存储该内容,然后关闭文件。
AppendText() 创建流文件(StreamWriter),将 UTF-8 编码附加到该文件中,然后关闭文件。如果流文件不存在,则创建一个文件存储该内容,然后关闭文件。
Copy() 复制现存文件内容到新文件中。
Create() 创建文件,如果文件已经存在就覆盖同名的文件。
CreateText() 创建文件用来写入 UTF-8 编码内容。
Decrypt() 使用 Encrypt 方法解密被加密的文件。
Delete() 删除指定的文件。
Encrypt() 加密文件。
Exists() 回传文件是否存在。
GetCreationTime() 回传文件的创建时间。
GetLastAccessTime() 回传文件的最后访问时间。
Move() 将文件移到新位置。
Open() 打开可擦写 byte 数据的流文件(FileStream)。
OpenText() 打开可擦写 UTF-8 编码数据的流文件(FileStream)。
Peek() 检查下一个要读取的字符,如果是文件末端则会回传 -1。
Read() 一次读取一个字符。
ReadAllBytes() 打开二进制文件,将内容读入 byte 数据,然后关闭文件。
ReadAllText() 打开文件,读取内容,然后关闭文件。
ReadLine() 一次读取一个字符,所读取的字符不包含换行字符,所以必须自行加上换行字符 “\r\n”。
Replace() 用新内容替换指定文件的内容。
Write(String) 将 String 数据写入,写入后插入点停在文件末端,有新的写入,则会继续在插入点位置写入。
WriteLine(String) 将 String 数据写入,写入后会有换行字符,插入点停在文件末端,有新的写入,则会在新的行写入。
WriteAllBytes() 创建文件然后写入二进制内容,如果文件已经存在则覆盖内容。
WriteAllText() 创建文件然后写入内容,如果文件已经存在则覆盖内容。

【实例 1】File 类方法的测试,请先在 C 磁盘创建 tmp 文件夹。
string file = @"D:\tmp\overwrite.txt";
File.AppendAllText(file, "附加内容");      // 附加
File.WriteAllText(@"D:\tmp\tmpNew.txt", "覆盖内容"); // 覆盖
if (File.Exists(file))               // 文件是否存在
    Console.WriteLine($"{file} 存在");
else
    Console.WriteLine($"【{file}】不存在");
File.Copy(file, @"D:\tmp\copyWrite.txt");        // 复制文件
if (File.Exists(@"D:\tmp\copyWrite.txt"))       // 文件是否存在
    Console.WriteLine($"【{@"D:\tmp\copyWrite.txt"}】存在");
else
    Console.WriteLine($"{@"D:\tmp\copyWrite.txt"} 不存在");
File.Delete(@"D:\tmp\copyWrite.txt");           // 删除文件
if (File.Exists(@"D:\tmp\copyWrite.txt"))       // 文件是否存在
    Console.WriteLine($"【{@"D:\tmp\copyWrite.txt"}】存在");
else
    Console.WriteLine($"【{@"D:\tmp\copyWrite.txt"}】不存在");
Console.WriteLine($"{file} 创建时间:{File.GetCreationTime(file)}");
执行结果为:

D:\tmp\overwrite.txt 存在
D:\tmp\copyWrite.txt 存在
D:\tmp\copyWrite.txt 不存在
D:\tmp\overwrite.txt 创建时间:2025/5/12 21:00:16

相关文章