📜  搜索目录和列出文件的 C# 程序(1)

📅  最后修改于: 2023-12-03 15:39:52.156000             🧑  作者: Mango

搜索目录和列出文件的 C# 程序

在进行文件操作时,有时候我们需要搜索特定目录下的所有文件并列出它们的文件名或者其他属性。在本文中,我们将介绍如何用 C# 程序来搜索目录并列出文件。

实现过程

我们可以使用以下函数来实现:

public static void ListFiles(string folderPath)
{
    try
    {
        foreach (string file in Directory.GetFiles(folderPath))
        {
            Console.WriteLine(Path.GetFileName(file));
        }
        foreach (string folder in Directory.GetDirectories(folderPath))
        {
            ListFiles(folder);
        }
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.Message);
    }
}

这个函数将搜索指定路径下的所有文件,并打印出每个文件的文件名。

使用方法

要使用此函数,请调用它并传递要搜索的目录的路径。例如:

ListFiles(@"C:\Users\Username\Documents");

这将搜索 "C:\Users\Username\Documents" 目录下的所有文件,并列出每个文件的文件名。

改进实现

上述函数只是列出了文件名称,如果需要获取其他属性信息还需要进一步扩展实现代码。

以下是可以获取文件名称、文件大小、创建时间和最后修改时间的改进版本:

public static void ListFiles(string folderPath)
{
    string[] filePaths = Directory.GetFiles(folderPath);

    foreach (string file in filePaths)
    {
        FileInfo fileInfo = new FileInfo(file);

        Console.WriteLine("File Name: {0}", fileInfo.Name);
        Console.WriteLine("File Size: {0} bytes", fileInfo.Length);
        Console.WriteLine("Date Created: {0}", fileInfo.CreationTime);
        Console.WriteLine("Date Modified: {0}", fileInfo.LastWriteTime);
        Console.WriteLine();
    }

    string[] folderPaths = Directory.GetDirectories(folderPath);

    foreach (string folder in folderPaths)
    {
        ListFiles(folder);
    }
}
结论

本文介绍了如何用 C# 程序来搜索目录并列出文件以及文件的其他属性信息。您可以将此功能与其他文件操作结合使用来完成更复杂的任务。