C#怎么读取某一文件夹下的所有文件夹和文件

2024-12-23 03:56:19
推荐回答(2个)
回答1:

读取的代码方式如下:

int main()

{

long file;

struct _finddata_t find;

_chdir("d:\\");

if((file=_findfirst("*.*", &find))==-1L)

{

printf("空白!\n");

exit(0);

}

printf("%s\n", find.name);

while(_findnext(file, &find)==0)

{

printf("%s\n", find.name);

}

_findclose(file);

return 0;

}

用C语言读取目录中的文件名的方法:

1、如果是在window环境下,可以用一下方法:

使用stdlib.h头文件声明的system()函数,调用系统命令dir,把c:目录下文件列表写入文件dir.txt中

2、使用dirent.h头文件中声明的opendir(),readdir()函数;

3、如果没有dirent.h,可以使用io.h头文件中声明的_findfirst(),_findnext()函数:

回答2:

static List list = new List();//定义list变量,存放获取到的路径
public static List getPath(string path)
{
DirectoryInfo dir = new DirectoryInfo(path);
FileInfo[] fil = dir.GetFiles();
DirectoryInfo[] dii = dir.GetDirectories();
foreach (FileInfo f in fil)
{
list.Add(f.FullName);//添加文件的路径到列表
}

//获取子文件夹内的文件列表,递归遍历
foreach (DirectoryInfo d in dii)
{
getPath(d.FullName);
list.Add(d.FullName);//添加文件夹的路径到列表
}
return list;
}
调用此函数需要传入指定的文件夹路径,如 D:\MyFile .可以将该文件夹下的文件和子文件夹路径全部获取,并利用递归,获取子文件夹内所有内容。