omk*_*ade 3 c# wpf directoryinfo fileinfo
我想显示所选文件夹中的所有文件..即该文件夹中的文件和该选定文件夹中子文件夹中的文件.
示例 -
我选择了D:\ Eg.现在我有一些txt和pdf文件.我也有子文件夹,其中也包含一些pdf文件.现在我想在数据网格中显示所有这些文件.
我的代码是
public void selectfolders(string filename)
{
FileInfo_Class fclass;
dirInfo = new DirectoryInfo(filename);
FileInfo[] info = dirInfo.GetFiles("*.*");
foreach (FileInfo f in info)
{
fclass = new FileInfo_Class();
fclass.Name = f.Name;
fclass.length = Convert.ToUInt32(f.Length);
fclass.DirectoryName = f.DirectoryName;
fclass.FullName = f.FullName;
fclass.Extension = f.Extension;
obcinfo.Add(fclass);
}
dataGrid1.DataContext = obcinfo;
}
Run Code Online (Sandbox Code Playgroud)
现在做什么?
Raw*_*ing 11
只是用
FileInfo[] info = dirInfo.GetFiles("*.*", SearchOption.AllDirectories);
Run Code Online (Sandbox Code Playgroud)
这将为您处理递归.
您应该递归地从所有子文件夹中选择文件.
public void selectfolders(string filename)
{
FileInfo_Class fclass;
DirectoryInfo dirInfo = new DirectoryInfo(filename);
FileInfo[] info = dirInfo.GetFiles("*.*");
foreach (FileInfo f in info)
{
fclass = new FileInfo_Class();
fclass.Name = f.Name;
fclass.length = Convert.ToUInt32(f.Length);
fclass.DirectoryName = f.DirectoryName;
fclass.FullName = f.FullName;
fclass.Extension = f.Extension;
obcinfo.Add(fclass);
}
DirectoryInfo[] subDirectories = dirInfo.GetDirectories();
foreach(DirectoryInfo directory in subDirectories)
{
selectfolders(directory.FullName);
}
}
Run Code Online (Sandbox Code Playgroud)