public class FileAccess
{

//储存所有文件夹名
private ArrayList dirs;

public FileAccess()
{
dirs = new ArrayList();
}

//获取所有文件名
private ArrayList GetFileName(string dirPath)
{
ArrayList list = new ArrayList();

if (Directory.Exists(dirPath))
{
list.AddRange(Directory.GetFiles(dirPath));
}
return list;
}

//获取所有文件夹及子文件夹
private void GetDirs(string dirPath)
{
if (Directory.GetDirectories(dirPath).Length > 0)
{
foreach (string path in Directory.GetDirectories(dirPath))
{
dirs.Add(path);
GetDirs(path);
}
}
}

/// <summary>
/// 获取给出文件夹及其子文件夹下的所有文件名
/// (文件名为路径加文件名及后缀,
/// 使用的时候GetAllFileName().ToArray()方法可以转换成object数组
/// 之后再ToString()分别得到文件名)
/// </summary>
/// <param name="rootPath">文件夹根目录</param>
/// <returns></returns>
public ArrayList GetAllFileName(string rootPath)
{
dirs.Add(rootPath);
GetDirs(rootPath);
object[] allDir = dirs.ToArray();

ArrayList list = new ArrayList();

foreach (object o in allDir)
{
list.AddRange(GetFileName(o.ToString()));
}

return list;
}

/// <summary>
/// 如果上个方法不知道怎么用,那就调用这个方法吧
/// </summary>
/// <param name="rootPath"></param>
/// <returns></returns>
public List<string> FileName(string rootPath)
{
List<string> list = new List<string>();

foreach (object o in GetAllFileName(rootPath).ToArray())
{
list.Add(o.ToString());
}
return list;
}
}

C#获取全部目录和文件的更多相关文章

  1. IO流-获取指定目录下文件夹和文件对象【File类】

    一.运用File类实现获取指定目录下文件夹和文件对象 1.File类 2.方法: 获取文件绝对路径 :getAbsolutePath 案例: import java.io.File; /** * 获取 ...

  2. Android遍历获取指定目录的文件

    我们经常遇到一个问题,需要获取指定目录的某些扩展名的文件,并将其存在Vector中,怎么来实现呢? // 获取当前目录下所有的mp4文件 public static Vector<String& ...

  3. Android遍历获取指定目录的文件(转)

    // 获取当前目录下所有的mp4文件 public static Vector<String> GetVideoFileName(String fileAbsolutePath) { Ve ...

  4. php获取某个目录下面文件的内容

    if(!defined('PATH'))define('PATH', dirname(dirname(__FILE__)).'/');ini_set ( 'include_path', '.:' . ...

  5. Java获取/resources目录下的资源文件方法

    Web项目开发中,经常会有一些静态资源,被放置在resources目录下,随项目打包在一起,代码中要使用的时候,通过文件读取的方式,加载并使用: 今天总结整理了九种方式获取resources目录下文件 ...

  6. linux获得目录下文件个数

    获得当前目录下文件个数赋值给变量panonum: panonum=$(ls -l |grep "^-" | wc -l) 获取指定目录下文件个数赋值给指定变量: panonum=$ ...

  7. Java获取Linux上指定文件夹下所有第一级子文件夹

    说明:需要只获得第一级文件夹目录 package com.sunsheen.jfids.studio.monitor.utils; import java.io.BufferedReader; imp ...

  8. 一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本

    摘自:http://blog.csdn.net/forandever/article/details/5711319 一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本 ...

  9. PHP 获取指定目录下所有文件(包含子目录)

    PHP 获取指定目录下所有文件(包含子目录) //glob — 寻找与模式匹配的文件路径 $filter_dir = array('CVS', 'templates_c', 'log', 'img', ...

随机推荐

  1. Dynamics AX 2012 的工业物联网解决方案

    Dynamics AX 2012 的工业物联网解决方案 物联网 物联网的概念在这两年非常火,包括近期很火的共享单车初创公司--摩拜单车,在产品中运用了Azure Iot物联网技术.但是,物联网并不是一 ...

  2. 【转】解决Delphi WebBrowser 无法调用当前浏览器的版本

    procedure TregedtIE.FormCreate(Sender: TObject);   begin     WriteAppNameToReg;     WebBrowser1.Navi ...

  3. GCD一些常用的方法

        //1.创建主线程(串行)     dispatch_async(dispatch_get_main_queue(), ^{         //刷新界面代码     });     //2. ...

  4. Mysql空用户导致数据库登陆故障处理 (原创帖,转载请注明出处)

    首先感谢在本次故障中阿铭对我的无私帮助,万分感谢!阿铭linux论坛:http://www.apelearn.com/study_v2/   问题描述: 公司安全部门扫描到数据库空密码漏洞,用户名密码 ...

  5. 2016年12月28日 星期三 --出埃及记 Exodus 21:23

    2016年12月28日 星期三 --出埃及记 Exodus 21:23 But if there is serious injury, you are to take life for life,若有 ...

  6. 。linux桌面与命令行

    1.输入用户名和密码登录到系统2.vi /etc/inittab3.修改id:后对应的值为5(桌面模式),id:后对应的值改成3(命令行模式)先用命令#startx启动到桌面模式,然后 Ctrl + ...

  7. Xcode8.0 去除控制台多余打印

    选择Product->Scheme->Edit Scheme ...或者直接按 command + shift + < 快捷键,在弹出的窗口中Environment Variable ...

  8. 全面分析 Spring 的编程式事务管理及声明式事务管理

    开始之前 关于本教程 本教程将深入讲解 Spring 简单而强大的事务管理功能,包括编程式事务和声明式事务.通过对本教程的学习,您将能够理解 Spring 事务管理的本质,并灵活运用之. 先决条件 本 ...

  9. Kanzi编程基础2 - Kanzi节点读取和属性设置

    UI设计师在Kanzi studio把Kanzi的节点做好后,就要编码读取这些节点并根据实际功能去控制刷新它. Kanzi读取节点的api发生过很多次变化,从2.7.2.8到3.0,每次变化都比较大, ...

  10. HDU 5934 Bomb(炸弹)

    p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-s ...