System.IO

System.IO 是.NET框架中的一个命名空间,它提供了一组用于处理输入和输出(I/O)操作的类和接口。这些操作包括文件和目录的管理、数据流的读写等。System.IO 是.NET中进行文件操作和数据处理的核心部分,广泛应用于各种应用程序中。

主要功能

1. 文件和目录操作

System.IO 提供了创建、读取、写入、删除和移动文件和目录的功能。

2. 数据流处理

System.IO 提供了处理数据流的类,如 StreamFileStreamMemoryStream 等,用于读写数据。

3. 文件系统信息

System.IO 提供了获取文件和目录信息的类,如 FileInfoDirectoryInfo

4. 路径操作

System.IO 提供了处理路径的类,如 Path,用于构建和解析文件路径。

常用类和方法

1. File 类

File 类提供了静态方法,用于执行文件操作,如创建、读取、写入、删除等。
  • 创建文件
    csharp
    复制
    using System;
    using System.IO;
    
    class Program
    {
        static void Main()
        {
            string filePath = "example.txt";
            File.WriteAllText(filePath, "Hello, World!");
        }
    }
     
  • 读取文件
    csharp
    复制
    using System;
    using System.IO;
    
    class Program
    {
        static void Main()
        {
            string filePath = "example.txt";
            string content = File.ReadAllText(filePath);
            Console.WriteLine(content);
        }
    }
     
  • 删除文件
    csharp
    复制
    using System;
    using System.IO;
    
    class Program
    {
        static void Main()
        {
            string filePath = "example.txt";
            File.Delete(filePath);
        }
    }
     

2. FileStream 类

FileStream 类用于以流的形式读写文件。
  • 写入文件
    csharp
    复制
    using System;
    using System.IO;
    
    class Program
    {
        static void Main()
        {
            string filePath = "example.txt";
            byte[] data = System.Text.Encoding.UTF8.GetBytes("Hello, World!");
    
            using (FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.Write))
            {
                fs.Write(data, 0, data.Length);
            }
        }
    }
     
  • 读取文件
    csharp
    复制
    using System;
    using System.IO;
    
    class Program
    {
        static void Main()
        {
            string filePath = "example.txt";
    
            using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read))
            {
                byte[] data = new byte[fs.Length];
                fs.Read(data, 0, data.Length);
                string content = System.Text.Encoding.UTF8.GetString(data);
                Console.WriteLine(content);
            }
        }
    }
     

3. Directory 类

Directory 类提供了静态方法,用于执行目录操作,如创建、删除、移动等。
  • 创建目录
    csharp
    复制
    using System;
    using System.IO;
    
    class Program
    {
        static void Main()
        {
            string directoryPath = "exampleDir";
            Directory.CreateDirectory(directoryPath);
        }
    }
     
  • 删除目录
    csharp
    复制
    using System;
    using System.IO;
    
    class Program
    {
        static void Main()
        {
            string directoryPath = "exampleDir";
            Directory.Delete(directoryPath, true); // true 表示删除目录及其内容
        }
    }
     

4. Path 类

Path 类提供了处理路径的静态方法,用于构建和解析文件路径。
  • 获取文件扩展名
    csharp
    复制
    using System;
    using System.IO;
    
    class Program
    {
        static void Main()
        {
            string filePath = "example.txt";
            string extension = Path.GetExtension(filePath);
            Console.WriteLine(extension); // 输出: .txt
        }
    }
     
  • 组合路径
    csharp
    复制
    using System;
    using System.IO;
    
    class Program
    {
        static void Main()
        {
            string directoryPath = "exampleDir";
            string fileName = "example.txt";
            string filePath = Path.Combine(directoryPath, fileName);
            Console.WriteLine(filePath); // 输出: exampleDir\example.txt
        }
    }
     

示例代码

完整示例:文件和目录操作

csharp
复制
using System;
using System.IO;

class Program
{
    static void Main()
    {
        string directoryPath = "exampleDir";
        string filePath = Path.Combine(directoryPath, "example.txt");

        // 创建目录
        Directory.CreateDirectory(directoryPath);

        // 写入文件
        File.WriteAllText(filePath, "Hello, World!");

        // 读取文件
        string content = File.ReadAllText(filePath);
        Console.WriteLine(content); // 输出: Hello, World!

        // 获取文件信息
        FileInfo fileInfo = new FileInfo(filePath);
        Console.WriteLine($"File size: {fileInfo.Length} bytes");

        // 删除文件
        File.Delete(filePath);

        // 删除目录
        Directory.Delete(directoryPath);
    }
}
 

注意事项

  1. 异常处理
    • 在进行文件和目录操作时,可能会遇到各种异常,如文件不存在、权限不足等。确保正确处理这些异常,避免程序崩溃。
  2. 资源管理
    • 使用 FileStream 等资源时,确保在使用完毕后释放资源,避免资源泄漏。可以使用 using 语句来自动管理资源。
  3. 路径安全
    • 在处理路径时,确保路径是安全的,避免路径注入攻击。可以使用 Path.GetFullPath 方法来规范化路径。
  4. 性能优化
    • 在处理大量文件或大文件时,注意性能优化,避免长时间占用资源。

总结

System.IO 提供了一套强大的工具,用于处理文件和目录操作、数据流处理、路径操作等。通过使用 FileFileStreamDirectoryPath 等类,开发者可以轻松地进行文件和目录的管理、数据的读写和路径的处理。合理使用这些工具可以提高应用程序的性能和可靠性,同时确保代码的简洁性和可维护性。
posted @ 2025-05-15 15:17  yinghualeihenmei  阅读(32)  评论(0)    收藏  举报