如何获取某个目录下的所有文件

buduanxuexi 2008-03-19 10:31:41
假如我给出一个目录(已知),现在我要获取这个目录下的所有文件

注意:假如该目录下文件如下
1.txt
2.dll
A(文件夹):3.doc,文件夹(B)
A的子文件夹下B下又有许多文件,也就是不知道到底有多少子文件夹

我要获取已知目录下的所有文件名,包括其所有路径
...全文
225 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
brookmill 2008-03-19
  • 打赏
  • 举报
回复
5楼的 PrintFiles(subDir);
之前应该加一行:Console.WriteLine(di.FullName);
brookmill 2008-03-19
  • 打赏
  • 举报
回复
using System;
using System.IO;

class test
{
private static void PrintFiles(DirectoryInfo di)
{
if (!di.Exists)
return;
foreach (FileInfo fi in di.GetFiles())
{
Console.WriteLine(fi.FullName);
}
foreach (DirectoryInfo subDir in di.GetDirectories())
{
PrintFiles(subDir);
}
}

public static void Main()
{
string path = System.Environment.CurrentDirectory;
DirectoryInfo di = new DirectoryInfo(path);
PrintFiles(di);
}
}
xray2005 2008-03-19
  • 打赏
  • 举报
回复

using System.IO;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
DisplayFiles(@"c:\test");
Console.ReadLine();

}

static void DisplayFiles(string path)
{
string[] fsname = Directory.GetFiles(path); //获取目录下的所有文件
foreach (string s in fsname)
{
Console.WriteLine(s.ToString());
}
string[] dsname = Directory.GetDirectories(path); //获取目录下的所有文件夹
foreach (string s in dsname)
{
Console.WriteLine(s);
Console.WriteLine("====================================================");
DisplayFiles(s); //递归
}
}
}

}
dancingbit 2008-03-19
  • 打赏
  • 举报
回复
使用递归,逐一列举当前文件夹的所有子文件夹
vrhero 2008-03-19
  • 打赏
  • 举报
回复
System.IO.DirectoryInfo 类

GetDirectories 已重载。 返回当前目录的子目录。
GetFiles 已重载。 返回当前目录的文件列表。
GetFileSystemInfos 已重载。 检索表示当前目录的文件和子目录的强类型 FileSystemInfo 对象的数组。

多看MSDN...
  • 打赏
  • 举报
回复

System.IO.DirectoryInfo

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧