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文件,填充数据并将其保存到用户文档文件夹中。


相关文章
|
4天前
|
XML C# 数据格式
使用C#操作XML文件
使用C#操作XML文件
14 0
|
4天前
|
XML C# 数据格式
C# 解析XML文件
C# 解析XML文件
59 1
|
4天前
|
安全 数据处理 C#
C# Post数据或文件到指定的服务器进行接收
C# Post数据或文件到指定的服务器进行接收
|
4天前
|
C# 开发工具 数据安全/隐私保护
C#实现基于Word保护性模板文件的修改
C#实现基于Word保护性模板文件的修改
|
4天前
|
开发框架 前端开发 .NET
C#编程与Web开发
【4月更文挑战第21天】本文探讨了C#在Web开发中的应用,包括使用ASP.NET框架、MVC模式、Web API和Entity Framework。C#作为.NET框架的主要语言,结合这些工具,能创建动态、高效的Web应用。实际案例涉及企业级应用、电子商务和社交媒体平台。尽管面临竞争和挑战,但C#在Web开发领域的前景将持续拓展。
|
4天前
|
SQL 开发框架 安全
C#编程与多线程处理
【4月更文挑战第21天】探索C#多线程处理,提升程序性能与响应性。了解C#中的Thread、Task类及Async/Await关键字,掌握线程同步与安全,实践并发计算、网络服务及UI优化。跟随未来发展趋势,利用C#打造高效应用。
|
4天前
|
存储 安全 网络安全
C#编程的安全性与加密技术
【4月更文挑战第21天】C#在.NET框架支持下,以其面向对象和高级特性成为安全软件开发的利器。本文探讨C#在安全加密领域的应用,包括使用System.Security.Cryptography库实现加密算法,利用SSL/TLS保障网络传输安全,进行身份验证,并强调编写安全代码的重要性。实际案例涵盖在线支付、企业应用和文件加密,展示了C#在应对安全挑战的同时,不断拓展其在该领域的潜力和未来前景。
|
4天前
|
人工智能 C# 开发者
C#编程中的图形界面设计
【4月更文挑战第21天】本文探讨了C#在GUI设计中的应用,介绍了Windows Forms、WPF和UWP等常用框架,强调了简洁界面、响应式设计和数据绑定等最佳实践。通过实际案例,展示了C#在企业应用、游戏开发和移动应用中的GUI实现。随着技术发展,C#在GUI设计的未来将趋向于跨平台、更丰富的组件和AI集成,为开发者创造更多可能性。
|
4天前
|
存储 算法 C#
C#编程与数据结构的结合
【4月更文挑战第21天】本文探讨了C#如何结合数据结构以构建高效软件,强调数据结构在C#中的重要性。C#作为面向对象的编程语言,提供内置数据结构如List、Array和Dictionary,同时也支持自定义数据结构。文章列举了C#实现数组、链表、栈、队列等基础数据结构的示例,并讨论了它们在排序、图算法和数据库访问等场景的应用。掌握C#数据结构有助于编写高性能、可维护的代码。