如何从目录中获取子文件夹中的文件

问题描述:

嗨我必须从目录中的指定路径获取文件。这是我写的方法,但我没有从子文件夹中获取文件。如何从目录中获取子文件夹中的文件

Private void getfiles(){ 
Directoryinfo info = new Directoryinfo(configurationmanager.appsettings["Targetroot"].tostring()); 
if (info.exists){ 
    Gvfiles.datasource = info.GetFiles(); 
    Gvfiles.databind(); 
    } 
} 
+0

我们需要更多的细节 - 你得到了什么结果呢? – CJM 2012-08-02 10:45:37

+2

你给出的代码应该正常工作检查[MSDN文章](http://msdn.microsoft.com/en-us/library/system.io.directoryinfo.aspx) – Vamsi 2012-08-02 10:46:19

+0

在我的代码中,我得到的文件在第一个文件夹,我想从放置在第一个文件夹中的文件夹中找到文件.too – Naveen 2012-08-02 12:02:40

DirectoryInfo info = new DrectoryInfo(configurationmanager.appsettings["Targetroot"].tostring()); 
//FileInfo[] _files = info.GetFiles("You could set a search pattern"); 
//FileInfo[] _files = info.GetFiles("*.aspx"); 
FileInfo[] _files = info.GetFiles(); 
Gvfiles.datasource = _files; 
Gvfiles.databind(); 

或:

DirectoryInfo info = new DirectoryInfo(Server.MapPath("/")); 
DirectoryInfo[] _info = info.GetDirectories(); 
for (int i = 0; i < _info.Length; i++) 
{ 
FileInfo[] files = _info[i].GetFiles("search pattern"); 
Gvfiles.datasource = files; 
Gvfiles.databind(); 
} 
+0

感谢您的评论。但是,这段代码不会从第一个文件夹中的文件夹中获取文件,无效,这就像我的代码 – Naveen 2012-08-02 12:08:29

+0

您可以在directoryinfo(YourPath)中设置路径。尝试Server.MapPath – 2012-08-02 12:12:50

这将返回(立即)子目录的数组:

System.IO.DirectoryInfo ParentDirectory = new System.IO.DirectoryInfo(ParentPath); 
System.IO.DirectoryInfo[] DirectoryArr = ParentDirectory.GetDirectories(); 

我相信你能找到一种方法,以使其适应你的喜好。

您将需要包含SearchOption.AllDirectories。

例子:

info.GetFiles("*", SearchOption.AllDirectories); 

参考: http://msdn.microsoft.com/en-us/library/ms143327(v=vs.80).aspx

和: http://msdn.microsoft.com/en-us/library/ms143448(v=vs.80).aspx