C# 文件操作:File与FileInfo类详解

4星 · 超过85%的资源 需积分: 14 12 下载量 64 浏览量 更新于2024-10-28 收藏 12KB TXT 举报
本文将详细介绍C#中用于文件读写操作的两个主要类:System.IO.File和System.IO.FileInfo,以及如何引用System.IO命名空间来使用这些类进行基本的文件操作,包括创建、读取、写入、删除和复制文件。 在C#编程中,System.IO命名空间提供了对操作系统I/O(输入/输出)功能的访问,包括处理文件和目录。`System.IO.File`类和`System.IO.FileInfo`类是这个命名空间中的核心组件,用于执行与文件相关的各种任务。 1. `System.IO.FileInfo`类: `FileInfo`类提供了关于文件的属性和方法,如文件的大小、创建时间、修改时间和读取、写入或删除文件的能力。例如,你可以创建一个`FileInfo`对象来获取文件的信息,或者使用它的`Create()`方法创建一个新的文件。`FileInfo`类的实例化是基于文件路径的,如`FileInfo fileInfo = new FileInfo("path/to/file.txt");` 2. `System.IO.File`静态类: 这个类包含了一系列静态方法,可以直接在类上调用,无需实例化对象。以下是一些常见的`File`类方法: - **`File.Open()`**:此方法用于打开一个现有的文件或创建一个新的文件进行读写。例如,`File.Open("path", FileMode.Append)`会打开指定路径的文件,并以追加模式打开它,使得新写入的数据会被添加到文件末尾。 - **`File.Create()`**:此方法创建一个新的文件,并返回一个`FileStream`对象,可以用来写入数据。如果文件已存在,`Create()`方法将覆盖原有内容。记得在完成操作后调用`FileStream.Close()`关闭文件流。 - **`File.Delete()`**:这个方法用于删除指定路径的文件,如`File.Delete("path/to/file.txt")`。一旦调用,文件将被永久删除,除非有备份机制。 - **`File.Copy()`**:此方法允许复制一个文件到另一个位置,`File.Copy(sourceFileName, destFileName, overwrite)`。`overwrite`参数决定是否允许覆盖目标文件。如果设为`true`且目标文件已存在,源文件将覆盖目标文件。 示例代码: ```csharp // 使用File类写入文件 private void WriteToFile() { using (StreamWriter writer = File.AppendText(@"c:\tempuploads\newFile.txt")) { writer.WriteLine("Hello, World!"); } } // 复制文件 private void CopyFile() { File.Copy(@"c:\tempuploads\newFile.txt", @"c:\tempuploads\Backup.txt", true); } ``` 通过这些方法,开发者可以轻松地在C#应用程序中处理文件操作。需要注意的是,当处理文件时,应始终确保正确管理和关闭文件流,以防止资源泄漏,并在必要时处理可能出现的异常,如文件不存在或权限不足等。此外,进行文件操作时最好在try-catch块中执行,以确保程序的健壮性。