C#入门:掌握System.IO文件操作类与.NET IL/CLR原理

需积分: 8 4 下载量 32 浏览量 更新于2024-08-19 收藏 5.22MB PPT 举报
在C#入门经典中,文件操作是程序员必备的基本技能。系统.IO命名空间是C#中用于文件和目录操作的核心工具集。它主要包括以下几个类: 1. **System.IO.File**:这是一个静态类,提供了创建、复制、删除、移动和打开文件的实用方法,如`File.WriteAllText()`用于写入文本文件,`File.ReadAllLines()`读取文件内容为字符串数组。通过这些静态方法,可以直接对文件进行操作,无需创建FileStream对象。 2. **System.IO.FileInfo**:与File不同,FileInfo是实例化后操作文件的类,可以获取文件的详细信息,如大小、创建时间等,同时也支持实例方法如`Move()`移动文件或`Delete()`删除文件。实例化FileInfo通常需要知道文件路径作为参数。 3. **System.IO.Directory**:这个静态类主要用于处理文件夹,提供了创建、移动和检索目录的功能,比如`Directory.CreateDirectory()`用于创建目录。然而,值得注意的是,Directory不能被继承,这意味着它的方法都是静态的。 4. **System.IO.DirectoryInfo**:与Directory相似,DirectoryInfo是实例化的类,用于处理文件夹和其子文件夹,提供更多的实例方法,如`MoveTo()`移动目录。它可以提供更精细的目录操作,同时支持递归操作。 5. **System.IO.Path**:这是一个静态类,专门用于操作文件路径,提供了诸如`GetExtension()`获取文件扩展名,`GetFileName()`提取文件名等方法,方便处理和解析文件路径。 在C#中,与传统的编译和执行流程不同,.NET引入了Common Language Runtime (CLR) 和 Intermediate Language (IL)。源代码被各自的编译器编译成.NET中间语言(IL),然后由CLR解释并转化为计算机可执行的机器码。这样,实现了跨语言的兼容性,无论使用VB、C++还是.NET支持的其他语言,最终都会生成MSIL,由CLR统一执行。此外,IL的设计使得从IL到机器码的转换效率高,提高了应用程序的性能。 此外,.NET使用一个公共的运行库——Common Language Runtime (CLR),它管理内存并支持跨语言组件的交互。例如,开发者可以设计能在VB中使用的C++组件,反之亦然,这与Java中的相似概念有所交集。在这个过程中,通过诸如`string.Format()`这样的方法,学员能够复习和理解在其他课程中学到的基础字符串处理技术。 关于面向对象设计,课程还讨论了简单工厂模式的局限性,特别是当工厂类依赖于所有子类时,这种模式可能导致代码过于紧密耦合和维护困难。通过分析其结构,学员能更好地理解何时选择不同的设计模式,并提升软件设计的灵活性和可扩展性。