C# 文件操作:系统IO类详解

需积分: 9 2 下载量 22 浏览量 更新于2024-11-24 收藏 19KB DOCX 举报
"C# 文件操作涉及System.IO类,主要包括对目录和文件的各种操作,如获取驱动器信息、当前工作目录、文件名、创建/删除目录、读取文件列表以及检索逻辑驱动器等。" 在C#中,进行文件操作主要依赖于`System.IO`命名空间下的各种类和方法。下面我们将详细探讨这些知识点: 1. **目录操作**: - `Directory.GetLogicalDrives()`:返回一个字符串数组,包含了系统中所有逻辑驱动器的名称,如"C:\"。 - `Directory.GetCurrentDirectory()`:获取当前应用程序的工作目录。 - `Path.GetFileName(path)`:从给定的完整路径中提取文件名部分,例如,对于路径"c:\dir\file.txt",结果将是"file.txt"。 - `Directory.GetFiles(path)`:返回指定目录下的所有文件名(不含子目录)。 - `DirectoryInfo`类:可以用来创建、读取、修改和删除目录。例如,`new DirectoryInfo(@"f:\MyDir")`创建一个目录对象,`CreateDirectory()`方法用于创建新的目录。 2. **目录的创建与删除**: - `Directory.CreateDirectory(path)`:创建指定路径的目录。 - `Directory.Exists(path)`:检查给定路径的目录是否存在。 - `DirectoryInfo.CreateSubdirectory(subPath)`:在现有目录下创建子目录。 - `Directory.Delete(path, recursive)`:删除指定的目录,如果`recursive`为`true`,则连同其子目录和内容一起删除。 3. **获取子目录**: - `Directory.GetDirectories(path, searchPattern)`:返回匹配指定搜索模式的子目录名称。例如,`GetDirectories(@"f:\", "b*")`将返回所有以"b"开头的子目录。 4. **获取文件系统项**: - `Directory.GetFileSystemEntries(path)`:返回指定目录中所有文件和子目录的名称。 5. **其他操作**: - `Directory.GetParent(path)`:获取给定路径的父目录。 - `DirectoryInfo.Parent`属性:同样可以用来获取路径的父目录。 - `Directory.GetLogicalDrives()`:检索系统上的所有逻辑驱动器的名称,格式为"<驱动器号>:\”。 6. **文件操作**: - 对文件的操作通常涉及到`FileStream`、`StreamReader`、`StreamWriter`等类。例如,可以使用`File.OpenRead(path)`打开一个文件进行读取,`File.WriteAllText(path, content)`写入文本到文件。 在实际编程中,还需要注意文件的权限问题,确保程序有权限执行相应的操作,同时,处理可能的异常情况,确保文件操作的稳健性。例如,删除文件或目录前,应先确认它们不存在或者用户有足够的权限进行操作。在读写文件时,使用`using`语句可以确保文件流在使用后被正确关闭和释放。