C# FileInfo类的使用方法及常用操作(附代码示例)


在C#编程中,处理文件操作是一项常见而重要的任务。为了更好地管理和操作文件,C#提供了一个强大且灵活的FileInfo类。本文将深入探讨C# FileInfo类的使用方法,并为您提供一些实用的代码示例。


目录

  • 一、什么是FileInfo类?
  • 二、使用FileInfo类
    • [1. 创建FileInfo对象](#1. 创建FileInfo对象)
    • [2. 获取文件属性信息](#2. 获取文件属性信息)
    • [3. 文件操作](#3. 文件操作)
      • [3.1 复制文件](#3.1 复制文件)
      • [3.2 移动文件](#3.2 移动文件)
      • [3.3 删除文件](#3.3 删除文件)
    • [4. 判断文件是否存在](#4. 判断文件是否存在)
  • 总结

一、什么是FileInfo类?

FileInfo类是位于System.IO命名空间中的一个类,它提供了一系列用于操纵文件的属性和方法。通过FileInfo类,我们可以轻松获取有关文件的信息,如文件大小、创建日期、修改日期等。此外,FileInfo类还提供了一些便捷的方法,来进行文件复制、移动、删除等操作。


二、使用FileInfo类

1. 创建FileInfo对象

要使用FileInfo类,首先需要创建一个FileInfo对象。我们可以使用以下方法之一来实现:

csharp 复制代码
string filePath = "D:\\新建 文本文档.txt";
FileInfo fileInfo = new FileInfo(filePath);

上述示例中,我们通过传递文件路径作为参数来创建了一个新的FileInfo对象。

2. 获取文件属性信息

一旦创建了FileInfo对象,我们可以轻松获取文件的各种属性信息。以下是一些常用的属性:

  • Name:文件名(包括扩展名)
  • FullName:完整路径和文件名
  • Extension:文件扩展名
  • Length:文件大小(以字节为单位)
  • CreationTime:创建时间
  • LastWriteTime:上次修改时间
  • LastAccessTime:上次访问时间
csharp 复制代码
Console.WriteLine("文件名:" + fileInfo.Name);
Console.WriteLine("文件路径:" + fileInfo.FullName);
Console.WriteLine("文件大小:" + fileInfo.Length + " 字节");
Console.WriteLine("文件扩展名:" + fileInfo.Extension);
Console.WriteLine("文件创建时间:" + fileInfo.CreationTime);

3. 文件操作

FileInfo类提供了一些便捷的方法,用于进行文件操作。以下是几个常用的方法:

3.1 复制文件

使用CopyTo方法可以将文件复制到新的位置。需要传入目标路径作为参数。

csharp 复制代码
string destinationPath = "D:\\新建文件夹\\新建 文本文档.txt";
fileInfo.CopyTo(destinationPath);

3.2 移动文件

使用MoveTo方法可以将文件移动到新的位置。需要传入目标路径作为参数。

csharp 复制代码
string destinationPath = "D:\\新建文件夹2\\新建 文本文档.txt";
fileInfo.MoveTo(destinationPath);

3.3 删除文件

使用Delete方法可以删除文件。

csharp 复制代码
fileInfo.Delete();

4. 判断文件是否存在

我们可以使用Exists属性来判断文件是否存在。

csharp 复制代码
if (fileInfo.Exists)
{
    Console.WriteLine("文件存在!");
}
else
{
    Console.WriteLine("文件不存在!");
}

总结

本文详细介绍了C# FileInfo类的使用方法及常用操作,包括以下内容:

  1. 创建FileInfo对象
  2. 获取文件属性信息
  3. 文件操作:复制、移动和删除文件
  4. 判断文件是否存在

FileInfo类为C#编程中的文件操作提供了强大的功能。通过灵活运用FileInfo类的方法和属性,我们可以轻松地管理和操作文件。

相关推荐
何以解忧唯有撸码3 小时前
c# + YOLODotNet+OpenCVSharp 实现物品轨迹追踪
计算机视觉·c#·winform·yolov8·opencvsharp
Deng桑5 小时前
Linux线上排查命令
1024程序员节
comyccccc6 小时前
STM32F103C8T6最小系统板设计全解析学习笔记
单片机·1024程序员节
阿尼卡~7 小时前
VS Code 配置 C 语言开发环境(Windows 10/11):从 GCC 安装到运行、断点调试,一篇搞定
c语言·开发语言·windows
叼烟扛炮9 小时前
Linux 学习笔记(三十三):线程互斥——互斥锁(Mutex)与死锁
linux·运维·服务器·笔记·学习·1024程序员节
云和数据.ChenGuang10 小时前
Python 常见特殊方法详解:__new__、__init__、__del__、__str__、__repr__ 与 __getattribute__
开发语言·人工智能·python·1024程序员节
海宇服务10 小时前
零信任架构实战:基于海宇全国车辆配置查验构建自动化二手商用车出厂参数建档网关
运维·人工智能·架构·自动化·1024程序员节
liyi_hz200811 小时前
O2OA(翱途) V10.1 即将发布|功能再升级,安全再加固,协同更高效!
java·javascript·windows·开源软件
zhippt_101411 小时前
AI生成PPT工具推荐:图转PPT与一键生成实测对比
人工智能·1024程序员节
鬼手点金12 小时前
KV Cache 未必是一次性的:可编辑、可组合的“笔记”
java·人工智能·笔记·学习·自动化·1024程序员节