【问题标题】:C# display all files from selected folderC# 显示选定文件夹中的所有文件
【发布时间】:2012-10-19 11:58:23
【问题描述】:

我想显示选定文件夹中的所有文件。即该文件夹中的文件和该选定文件夹中子文件夹中的文件。

示例 -

我选择了 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;
} 

现在该怎么办?

【问题讨论】:

标签: c# wpf fileinfo directoryinfo


【解决方案1】:

随便用

FileInfo[] info = dirInfo.GetFiles("*.*", SearchOption.AllDirectories);

它将为您处理递归。

【讨论】:

    【解决方案2】:

    你应该recursively从所有子文件夹中选择文件。

    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);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-12
      • 1970-01-01
      • 2021-02-27
      • 2021-04-29
      • 1970-01-01
      • 1970-01-01
      • 2020-02-03
      • 1970-01-01
      相关资源
      最近更新 更多