C#基础文件相关类:(File类、FileInfo类)

*在 C# 中,File 类和 FileInfo 类都是用于处理文件的类。它们都属于 System.IO 命名空间,但在使用方式和场景上有所不同。

File 类

File 类是一个静态类,提供了一组静态方法,用于对文件进行创建、复制、删除、移动和打开操作,并且可以帮助创建 FileStream 对象。

常用方法

File.Create:创建或覆盖一个文件。
File.Copy:复制现有文件到新文件。
File.Delete:删除指定的文件。
File.Exists:确定指定的文件是否存在。
File.Move:将指定的文件移动到新的位置。
File.ReadAllText:读取文件中的所有文本。
File.WriteAllText:将文本写入文件,如果文件存在则覆盖。

示例代码

using System;
using System.IO;
class Program
{
    static void Main()
    {
        string filePath = "example.txt";
        
        // 创建文件并写入内容
        File.WriteAllText(filePath, "Hello, File!");
        // 检查文件是否存在
        if (File.Exists(filePath))
        {
            // 读取文件内容
            string content = File.ReadAllText(filePath);
            Console.WriteLine($"文件内容: {content}");
        }
        // 复制文件
        string copyPath = "copy_example.txt";
        File.Copy(filePath, copyPath, true);
        // 删除文件
        File.Delete(filePath);
        File.Delete(copyPath);
    }
}

FileInfo 类

FileInfo 类是一个实例类,提供了实例方法和属性,用于对文件进行更详细的操作和获取文件信息。

常用方法和属性

FileInfo.Create:创建文件。
FileInfo.CopyTo:将现有文件复制到新文件。
FileInfo.Delete:删除文件。
FileInfo.MoveTo:将文件移动到新位置。
FileInfo.Length:获取文件的大小(字节数)。
FileInfo.Exists:确定文件是否存在。
FileInfo.LastAccessTime:获取或设置文件的上次访问时间。

示例代码

using System;
using System.IO;

class Program
{
   static void Main()
   {
       string filePath = "example.txt";
       FileInfo fileInfo = new FileInfo(filePath);
       
       // 创建文件并写入内容
       using (StreamWriter writer = fileInfo.CreateText())
       {
           writer.WriteLine("Hello, FileInfo!");
       }

       // 检查文件是否存在
       if (fileInfo.Exists)
       {
           // 获取文件大小
           long size = fileInfo.Length;
           Console.WriteLine($"文件大小: {size} 字节");

           // 读取文件内容
           using (StreamReader reader = fileInfo.OpenText())
           {
               string content = reader.ReadToEnd();
               Console.WriteLine($"文件内容: {content}");
           }

           // 复制文件
           string copyPath = "copy_example.txt";
           FileInfo copyInfo = fileInfo.CopyTo(copyPath, true);

           // 删除文件
           fileInfo.Delete();
           copyInfo.Delete();
       }
   }
}

关键区别

1.静态 vs 实例:

File 类是静态类,直接通过类名调用方法。
FileInfo 类是实例类,需要创建对象实例来调用方法和属性。

2.方法调用:

File 类适合需要简单调用一次的文件操作。
FileInfo 类适合需要多次操作同一个文件,或需要获取文件的详细信息。

3.性能:

File 类的方法在每次调用时都会检查文件的存在性等元数据。
FileInfo 类创建实例时会获取文件的元数据,在后续操作中复用这些数据,适合多次操作同一个文件的场景。

通过理解 File 类和 FileInfo 类的这些知识点和区别,你可以在不同的场景中选择合适的类来处理文件操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值