C# File 和 FileInfo 类的区别 作者:马育民 • 2025-03-22 13:30 • 阅读:10010 https://www.cnblogs.com/youguess/p/4635644.html # File File类是一个静态类,它对应整个文件系统进行操作,方法均为静态文法;如果只是对文件进行少量的操作,如判断文件是否存在之类或者对很多的文件进行操作,建议使用File类,可以避免频繁创建和释放对象的系统开销。 官网: https://learn.microsoft.com/zh-cn/dotnet/api/system.io.file?view=net-8.0 # FileInfo FileInfo类是一个实例类,它对应某一个文件进行操作,方法大部分为实例方法,它的操作有可能是调用的File中的对应静态方法。如果是对一个文件进行大量的操作,建议使用FileInfo类。 官网: https://learn.microsoft.com/zh-cn/dotnet/api/system.io.fileinfo?view=net-8.0 # 为什么同时有这两个类? 因为每次通过 `File` 类调用某个方法时,都要占用一定的cpu处理时间来进行安全检查,即使使用不同的 `File` 类的方法重复访问同一个文件时也是如此。而 `FileInfo` 类只在创建 `FileInfo` 对象时执行一次安全检查。 为方便操作,有很多时候不需要生成一个 `FileInfo` 对象那么麻烦。 比如:复制一个文件到另外一个地方: ``` File.Copy(filePath,newFilePath) ``` 就可以。 如果用FileInfo 可能需要: ``` FileInof fi = new FileInfo(); fi.CopyTo(newFilePath); ``` 原文出处:http://malaoshi.top/show_1GWo05aWkLf.html