C#获取文件基本信息,文件名称、修改时间、文件路径等

简介: C#获取文件基本信息,文件名称、修改时间、文件路径等

在C#中,我们可以使用System.IO库访问文件系统,以便读取和导出文件信息。我们可以使用类System.IO.DirectoryInfo和System.IO.FileInfo表示文件夹和文件。

以下是实现该目标所需的主要步骤:

1.创建一个新的控制台应用程序或任何其他.NET应用程序。

2.将System.IO库添加到应用程序中,以便我们可以访问文件系统。

using System.IO;

3.声明一个变量以保存文件夹路径。

string folderPath = @"C:\Users\Public\Documents";

在此示例中,我们将使用C:\Users\Public\Documents文件夹,但您可以根据需要更改路径。

4.创建一个类型为DirectoryInfo的对象,以便我们可以访问该文件夹中的文件。

DirectoryInfo directoryInfo = new DirectoryInfo(folderPath);

5.使用GetFiles()方法获取该文件夹中的所有文件并保存到一个名为files的FileInfo数组变量中。

FileInfo[] files = directoryInfo.GetFiles();

现在我们有了代表该文件夹中所有文件的每个FileInfo对象。这些对象包含了我们需要的信息,例如文件名,修改日期和完整路径。

6.创建一个DataTable对象,以便我们可以将文件信息添加到其中,并最终导出到Excel或其他应用程序。

DataTable dtFiles = new DataTable();
dtFiles.Columns.Add("文件名称", typeof(string));
dtFiles.Columns.Add("修改日期", typeof(string));
dtFiles.Columns.Add("路径", typeof(string));

这将创建一个包含“文件名称”,“修改日期”和“路径”三个列的DataTable对象。

7.循环遍历files数组并将每个FileInfo对象的名称,修改日期和完整路径添加到dtFiles中。

foreach (FileInfo file in files)
{
    DataRow dr = dtFiles.NewRow();
    dr["文件名称"] = file.Name;
    dr["修改日期"] = file.LastWriteTime;
    dr["路径"] = file.FullName;
    dtFiles.Rows.Add(dr);
}

8.一旦完成循环,我们现在拥有一个包含所有文件信息的DataTable对象,我们可以将其导出到Excel或其他应用程序。

以下是逐行解释:

第4行获得指定文件夹的所有文件的“FileInfo”对象数组。

第7行创建一个新的DataTable,并添加列标题“文件名称”,“修改日期”和“路径”。

第10-16行,我们使用foreach循环遍历files数组,并将每个FileInfo对象的文件名,修改日期和路径添加到dtFiles对象中的新行。

最终,我们将导出DataTable对象以使其易于阅读和使用。

9.使用以下代码导出DataTable对象 dtFiles:

// 导出数据到Excel。
string fileName = @"文件列表.xlsx";
string filePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), fileName);
Excel.Application excel = new Excel.Application();
Excel.Workbook workbook = excel.Workbooks.Add();
Excel._Worksheet worksheet = workbook.ActiveSheet;
for (int i = 1; i <= dtFiles.Columns.Count; i++)
{
    worksheet.Cells[1, i] = dtFiles.Columns[i - 1].ColumnName;
}
for (int i = 1; i <= dtFiles.Rows.Count; i++)
{
    for (int j = 1; j <= dtFiles.Columns.Count; j++)
    {
        worksheet.Cells[i + 1, j] = dtFiles.Rows[i - 1][j - 1].ToString();
    }
}
workbook.SaveAs(filePath);
workbook.Close();
excel.Quit();

借助Microsoft Excel的帮助,我们可以轻松地导出DataTable对象到Excel文件中。在此示例中,我们使用微软官方的Interop.Excel库以编程方式打开Excel文件,填充数据并将其保存到用户文档文件夹中。


相关文章
|
1月前
|
C#
【C#】C#读写Excel文件
【C#】C#读写Excel文件
25 1
|
1月前
|
JavaScript 前端开发 C#
初识Unity——创建代码、场景以及五个常用面板(创建C#代码、打开代码文件、场景的创建、Project、Hierarchy、Inspector、Scene、Game )
初识Unity——创建代码、场景以及五个常用面板(创建C#代码、打开代码文件、场景的创建、Project、Hierarchy、Inspector、Scene、Game )
25 0
|
2月前
|
XML C# 数据格式
C# 解析XML文件
C# 解析XML文件
71 1
|
2月前
|
安全 数据处理 C#
C# Post数据或文件到指定的服务器进行接收
C# Post数据或文件到指定的服务器进行接收
|
2月前
|
开发框架 前端开发 .NET
C#编程与Web开发
【4月更文挑战第21天】本文探讨了C#在Web开发中的应用,包括使用ASP.NET框架、MVC模式、Web API和Entity Framework。C#作为.NET框架的主要语言,结合这些工具,能创建动态、高效的Web应用。实际案例涉及企业级应用、电子商务和社交媒体平台。尽管面临竞争和挑战,但C#在Web开发领域的前景将持续拓展。
|
2月前
|
SQL 开发框架 安全
C#编程与多线程处理
【4月更文挑战第21天】探索C#多线程处理,提升程序性能与响应性。了解C#中的Thread、Task类及Async/Await关键字,掌握线程同步与安全,实践并发计算、网络服务及UI优化。跟随未来发展趋势,利用C#打造高效应用。
|
15天前
|
存储 C# 开发者
C# 编程基础:注释、变量、常量、数据类型和自定义类型
C# 编程基础:注释、变量、常量、数据类型和自定义类型
18 1
|
2月前
|
开发框架 .NET Java
探索 C#编程的奥秘与魅力
【4月更文挑战第20天】C#是微软开发的现代、面向对象的编程语言,以其简洁语法、强大功能和跨平台支持脱颖而出。它支持自动垃圾回收、泛型、委托、LINQ,并广泛应用于桌面、Web、移动和游戏开发。C#拥有活跃的开发者社区和丰富的资源,是Unity游戏开发的首选语言。随着.NET Core,C#可在多个操作系统上运行,持续创新,未来发展潜力巨大。
|
2月前
|
存储 安全 网络安全
C#编程的安全性与加密技术
【4月更文挑战第21天】C#在.NET框架支持下,以其面向对象和高级特性成为安全软件开发的利器。本文探讨C#在安全加密领域的应用,包括使用System.Security.Cryptography库实现加密算法,利用SSL/TLS保障网络传输安全,进行身份验证,并强调编写安全代码的重要性。实际案例涵盖在线支付、企业应用和文件加密,展示了C#在应对安全挑战的同时,不断拓展其在该领域的潜力和未来前景。