【问题标题】:could not get the text files that are present in the sub folders of drive无法获取驱动器子文件夹中存在的文本文件
【发布时间】:2015-06-10 00:47:55
【问题描述】:

在我的项目中,当我尝试获取驱动器中所有文本文件的列表时,我只获取驱动器中直接存在的文件。我无法获取驱动器文件夹中存在的文本文件,但我想要。有什么想法吗?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;

namespace listofdirectories
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        string str;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Request.QueryString["drive"] != null)
            {
               str=Request.QueryString["drive"];
            }

            DirectoryInfo dinfo = new DirectoryInfo(str);
            FileInfo[] Files = dinfo.GetFiles("*.txt");
            foreach (FileInfo file in Files)
            {
                ListBox1.Items.Add(file.Name);
            }

        }
    }
}

【问题讨论】:

  • 查看DirectoryInfo.GetFiles()的所有重载。
  • 参见 MSDN 上的 this

标签: c#


【解决方案1】:

使用this GetFiles Method 也接收SearchOption Enumeration。如果将其设置为AllDirectories,它将搜索子文件夹

所以你的代码应该是这样的:

Directory.GetFiles(str, "*.txt", SearchOption.AllDirectories);

【讨论】:

  • UnAuthorizedAccessException 如果我尝试了这个
  • 如果您无权访问子文件夹,您想如何搜索它们?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-07
  • 1970-01-01
相关资源
最近更新 更多