1。 需求: 获取指定目录下所有文件夹名字
2。 代码实现
public List<string> FindFolders(string path)
{
try
{
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
DirectoryInfo dir = new DirectoryInfo(path);
var subdir = dir.GetDirectories(); //所有子目录
List<string> files = dir.GetDirectories().Select(o => o.Name).ToList();
return files;
}
catch (Exception)
{
return null;
}
}
- 需求: 获取指定目录下所有文件
- 先遍历文件夹,再遍历文件。代码实现
public List<string> FindDir(string path)
{
try
{
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
DirectoryInfo dir = new DirectoryInfo(path);
List<string> files = dir.GetDirectories().Select(o => o.FullName).ToList();//获取子目录
return files;
}
catch
{
return null;
}
}
public List<string> FindFile(string path)
{
try
{
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
DirectoryInfo dirBase = new DirectoryInfo(path);
List<string> files = dirBase.GetFiles("*.txt").Select(o => o.FullName).ToList();
List<string> subDirs = FindDir(path);
if (subDirs.Count != 0)
{
foreach (var item in subDirs)
{
DirectoryInfo dir = new DirectoryInfo(item);
List<string> subFiles = dir.GetFiles("*.txt").Select(o => o.FullName).ToList();
if (subFiles.Count > 0)
{
files.AddRange(subFiles);
}
}
}
return files;
}
catch
{
return null;
}
}