代码改变世界

[原创]文件管理

  Virus-BeautyCode  阅读(376)  评论(1编辑  收藏  举报

文件系统相关的类都在System.IO命名空间中,而注册表操作由System.Win32命名空间中的两个类来执行。

FileSystemInfo               表示任何文件系统对象的基类
FileInfo And File            表示任何文件系统上的文件
DirectoryInfo And Directory  表示文件系统上的文件夹
Path                         这个类包含的静态成员可以用于处理路径名

//摘抄自http://www.online-book.cn

● Directory 和 File只包含静态方法,且从来不能被实例化。只要调用一个成员方法,提供合适文件系统对象的路径,就可以使用这些类。如果只对文件夹或文件执行一个操作,使用这些类就很有效,因为这样可以省去实例化.NET类的系统开销。

● DirectoryInfo和FileInfo执行与Directory和File大致相同的公共方法,并拥有一些公共属性和构造函数,但它们都是有状态的,并且这些类的成员都不是静态的。需要实例化这些类,把每个实例与特定的文件夹或文件关联起来。如果使用同一个对象执行多个操作,使用这些类就比较有效,因为在构造时它们将读取合适文件系统对象的身份认证和其他信息,无论对每个对象(类实例)调用了多少方法,都不需要再次读取这些信息。比较而言,在调用每个方法时,相应的无状态类需要再次检查一下文件或文件夹的内容。

//摘抄结束


我们不可以实例化Path,他有一些静态方法可是使用。

读写文件可以使用FileStream, StreamReader, StreamWriter

注册表的库和.NET库一样复杂,它包括访问注册表的类。其中有两个类涉及到注册表,即Registry 和RegistryKey,这两个类都在Microsoft.Win32命名空间中。

Registry是不能实例化的,他的作用只是提供表示顶级键的RegistryKey实例。是通过静态属性来提供这些实例的。

 

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示