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

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

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

本节要讲的 FileInfo 类提供了和 File 相同功能的方法,但是需要先用建构方法来声明并创建一个实体文件对象,然后才可以用这个对象操作类方法。

下列是声明并创建“D:\\fileC#\\file.txt”实体对象 myfile 的实例:
FileInfo myfile = new FileInfo(“D:\\fileC#\\file.txt”);
或是:
DirectoryInfo myfile = new DirectoryInfo(@“D:\\fileC#\\file.txt”);// 加@

有了上述 myfile 文件对象,可以使用对象得到下列属性:
下列是此文件对象常用的方法:

名称 说明
AppendText() 使用 FileInfo 对象创建一个 StreamWriter 的写入对象,将文件内容附加在写入对象内。如果文件不存在则会创建新的文件来执行写入;如果文件存在,则会将新的数据附加在文件末端。
Close() 关闭文件,也就是关闭 StreamWriter 或 StreamReader 对象。
CopyTo() 将现有的文件内容复制到新文件中。
Create() 创建一个文件。
CreateText() 使用 FileInfo 对象创建一个 StreamWriter 的写入对象,将文件写入此对象内。如果文件不存在则会创建新的文件来执行写入;如果文件存在,则原先内容会被清空再执行写入。
Decrypt() 解密文件。
Delete() 删除文件。
Encrypt() 加密文件。
Flush() 清空总线缓冲区内容。
MoveTo() 移动文件到新位置。
Open() 用特定模式打开文件。
OpenRead() 打开只读的 FileStream。
OpenText() 创建一个 StreamReader 的读取对象,可以读取 UTF-8 编码的文件。
OpenWrite() 创建一个唯写(write-only)的 FileStream。
Replace() 用 FileInfo 对象替换指定文件内容。
ToString() 回传文件路径。
Write(String) 将 String 数据写入,写入后插入点停在文件末端;有新的写入,则会继续在插入点位置写入。
WriteLine(String) 将 String 数据写入,写入后会有换行字符,插入点停在文件末端;有新的写入,则会在新的行写入。

【实例】创建文件的测试。
string file = @"D:\tmp\tmp.txt";
FileInfo fi = new FileInfo(file);   // 声明实体对象
fi.Create();                        // 创建文件
Console.WriteLine($"文件夹:{fi.DirectoryName}");
Console.WriteLine($"文件名:{fi.Name}");
Console.WriteLine($"扩展名:{fi.Extension}");
Console.WriteLine($"创建时间:{fi.CreationTime}");
Console.WriteLine($"长度:{fi.Length}");
Console.WriteLine($"存在:{fi.Exists}");
执行结果为:

文件夹:C:\tmp
文件名:tmp.txt
扩展名:.txt
创建时间:2025/5/12 21:05:08
长度:0
存在:True

相关文章