On the Internet, the algorithm for Traversing folders is mostly implemented by recursive thinking. I checked the information and summarized the two methods based on the actual application.
Method 1,
Public void findallfiles (string path)
...{
If (directory. exists (PATH) = true)
...{
Directoryinfo [] childdirectory; // subdirectory set
Fileinfo [] newfileinfo; // all current files
Directoryinfo fatherdirectory = new directoryinfo (PATH); // the current directory
Childdirectory = fatherdirectory. getdirectories ("*. *"); // obtain the subdirectory set.
Newfileinfo = fatherdirectory. getfiles (); // obtain the file set, which can be operated.
Foreach (fileinfo file in newfileinfo)
...{
Listbox1.items. Add (object) file. fullname );
}
Foreach (directoryinfo dirinfo in childdirectory)
...{
Findallfiles (dirinfo. fullname );
}
}
}
Method 2,
Private void findallfiles (string folderpath)
...{
If (directory. exists (folderpath) = true)
...{
Foreach (string STR in directory. getfiles (folderpath ))
...{
Listbox1.items. Add (object) Str. tostring ());
}
Foreach (string strfolder in directory. getdirectories (folderpath ))
...{
Findallfiles (strfolder );
}
}
}