使用C#列出目录和文件

使用C#列出目录和文件

介绍

C#(C Sharp)是一种基于对象的、运行在.NET Framework上、并且被设计用来构建Windows和Web应用程序的多范式编程语言。本文将介绍如何使用C#来列出目录和文件。

实现方法

在C#中,我们可以使用System.IO命名空间下的Directory类和FileInfo类来实现列出目录和文件的功能。

列出目录

首先,我们来看一下如何利用Directory类列出目录。下面是一个简单的列出目录的C#程序。

using System;

using System.IO;

class Program

{

static void Main()

{

string path = @"C:\users\";

// 获取该目录下所有的子目录名称

string[] subdirectories = Directory.GetDirectories(path);

Console.WriteLine("Subdirectories of {0}:", path);

foreach (string subdirectory in subdirectories)

{

Console.WriteLine(" " + subdirectory);

}

}

}

上述程序通过调用Directory.GetDirectories方法来获取指定目录下的所有子目录名称,并使用foreach循环来遍历所有子目录并打印输出。

列出文件

接下来,我们来看一下如何利用FileInfo类列出文件。下面是一个简单的列出文件的C#程序。

using System;

using System.IO;

class Program

{

static void Main()

{

string path = @"C:\users\";

DirectoryInfo d = new DirectoryInfo(path);

FileInfo[] files = d.GetFiles("*");

Console.WriteLine("Files in {0}:", path);

foreach (FileInfo file in files)

{

Console.WriteLine(" " + file.Name);

}

}

}

上述程序通过先获取指定目录的DirectoryInfo实例,并调用GetFiles方法获取该目录下的所有文件。然后使用foreach循环遍历该数组,打印输出所有文件名称。

列出目录和文件

如果我们需要同时列出目录和文件,我们可以将上述两个程序结合起来。下面是一个简单的列出目录和文件的C#程序。

using System;

using System.IO;

class Program

{

static void Main()

{

string path = @"C:\users\";

// 获取该目录下所有的子目录名称

string[] subdirectories = Directory.GetDirectories(path);

Console.WriteLine("Subdirectories of {0}:", path);

foreach (string subdirectory in subdirectories)

{

Console.WriteLine(" " + subdirectory);

}

// 获取该目录下所有的文件名称

DirectoryInfo d = new DirectoryInfo(path);

FileInfo[] files = d.GetFiles("*");

Console.WriteLine("Files in {0}:", path);

foreach (FileInfo file in files)

{

Console.WriteLine(" " + file.Name);

}

}

}

上述程序结合了上面两个程序的功能,在输出子目录后再输出该目录下的所有文件。

总结

本文介绍了如何使用C#来列出目录和文件。我们学习了利用Directory类和FileInfo类来实现这个功能,并给出了简单的例子。在实际编程中,我们可以根据需要对这些例子进行修改和扩展,以满足具体的需求。

后端开发标签