使用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类来实现这个功能,并给出了简单的例子。在实际编程中,我们可以根据需要对这些例子进行修改和扩展,以满足具体的需求。