public void FindFile(string dir) { DirectoryInfo Dir=new DirectoryInfo(dir); try { foreach(DirectoryInfo d in Dir.GetDirectories()) { FindFile(Dir+d.ToString()+"\\"); } foreach(FileInfo f in Dir.GetFiles("*.*")) {
foreach (string dir in System.IO.Directory.GetDirectories("最上级文件夹全路径", "*.*", SearchOption.AllDirectories)) { System.IO.DirectoryInfo di = new DirectoryInfo(dir); if (di.GetFiles().Length>0) {//递归} } List<T>保存文件夹数据
A2
A3
A4
A5
A6
分别为6个集合你的几百个data是对象那么遍历之后放到相应的集合中不就OK了么
如果考虑到效率,可以调整遍历的算法
{
DirectoryInfo Dir=new DirectoryInfo(dir);
try
{
foreach(DirectoryInfo d in Dir.GetDirectories())
{
FindFile(Dir+d.ToString()+"\\");
}
foreach(FileInfo f in Dir.GetFiles("*.*"))
{
}
}
catch(Exception e)
{
MessageBox.Show(e.Message);
}
}
foreach (string dir in System.IO.Directory.GetDirectories("最上级文件夹全路径", "*.*", SearchOption.AllDirectories))
{
System.IO.DirectoryInfo di = new DirectoryInfo(dir);
if (di.GetFiles().Length>0)
{//递归}
}
List<T>保存文件夹数据