知识大全 C# 如何获取指定目录包含的文件和子目录

Posted 文件

篇首语:峥嵘过去已经彪炳史册,璀璨当下正在不断延伸,光明未来需要踏实开拓。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 C# 如何获取指定目录包含的文件和子目录相关的知识,希望对你有一定的参考价值。

C# 如何获取指定目录包含的文件和子目录  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  如何获取指定目录包含的文件和子目录 DirectoryInfo GetFiles() 获取目录中(不包含子目录)的文件 返回类型为FileInfo[] 支持通配符查找 DirectoryInfo GetDirectories() 获取目录(不包含子目录)的子目录 返回类型为DirectoryInfo[] 支持通配符查找 DirectoryInfo GetFileSystemInfos() 获取指定目录下(不包含子目录)的文件和子目录 返回类型为FileSystemInfo[] 支持通配符查找 如何获取指定文件的基本信息 FileInfo Exists 获取指定文件是否存在 FileInfo Name FileInfo Extensioin 获取文件的名称和扩展名 FileInfo FullName 获取文件的全限定名称(完整路径) FileInfo Directory 获取文件所在目录 返回类型为DirectoryInfo FileInfo DirectoryName 获取文件所在目录的路径(完整路径) FileInfo Length 获取文件的大小(字节数) FileInfo IsReadOnly 获取文件是否只读 FileInfo Attributes 获取或设置指定文件的属性 返回类型为FileAttributes枚举 可以是多个值的组合 FileInfo CreationTime FileInfo LastAccessTime FileInfo LastWriteTime 分别用于获取文件的创建时间 访问时间 修改时间 遍历文件夹 文件夹是树形结构 遍历算法有 广度优先级和深度优先级 区别 广度首先查找同一层目录 深度首先遍历一条分支 有了这个区别 就可以确定链表的插入位置 即广度遍历插入点总在末尾 深度遍历插入点在首部 详细看代码 public static void searchFile(String path List<Object> resultList) File file = new File(path); if (file isDirectory()) LinkedList<File[]> levelLinked = new LinkedList<File[]>(); levelLinked add(file listFiles()); do File[] childFiles = levelLinked remove( ); for (File cf : childFiles) if (cf isDirectory()) // 此处控制遍历的方向 levelLinked add(cf listFiles());// 广度 // levelLinked add( cf listFiles());//深度 else String fileName = cf getName();// 文件名 有后缀 String filePath = cf getAbsolutePath();// 绝对路径 String fileParent = cf getParent();// 上层路径 注意最后的 / // 比较算法 找到后放入集合 String[] sf = fileName fileParent filePath ; resultList add(sf); while (levelLinked size() > ); 此处加入一些API提供的工具类 希望有用 多后缀判断 如 java class js等 String[] hz = java class js; Arrays sort(hz);//下面的搜索需要排序 例如 class的顺序在java之前 如果不sort() class文件不会被查找 Arrays binarySearch(hz fn_);//fn_文件后缀 如果明确目录的层次结构简单 递归算法也是不错的选择 个人觉得 文件的搜索 应该单独起线程

  //////////////////////// 采用递归的方式遍历 文件夹和子文件中的所有文件 public void FindFile(string dirPath) //参数dirPath为指定的目录 //在指定目录及子目录下查找文件 在listBox 中列出子目录及文件 DirectoryInfo Dir=new DirectoryInfo(dirPath); try foreach(DirectoryInfo d in Dir GetDirectories()//查找子目录 FindFile(Dir+d ToString()+""); listBox Items Add(Dir+d ToString()+""); //listBox 中填加目录名 foreach(FileInfo f in Dir GetFiles("* ")) //查找文件 listBox Items Add(Dir+f ToString()); //listBox 中填加文件名 catch(Exception e) MessageBox Show(e Message);

  

   用下面代码限制文件的类型 foreach(FileInfo f in Dir GetFiles("* ")) //查找文件

   “* ”指要访问的文件的类型的扩展名 /////////////////////////////// 代码改成如下 会不会好一点

  DirectoryInfo TheFolder=new DirectoryInfo(folderFullName);

  DirectoryInfo[] dirInfo = TheFolder GetDirectories(); //遍历文件夹 foreach(DirectoryInfo NextFolder in dirInfo) this listBox Items Add(NextFolder Name);

cha138/Article/program/net/201311/14311

相关参考

知识大全 Java对话框获取目录、文件路径

Java对话框获取目录、文件路径  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  publicFi

知识大全 C#删除多重文件夹

C#删除多重文件夹  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一个根文件夹底下包含多级目录每

知识大全 编写一个文件目录常用操作的类

  今天对自己以前写的一些常用的组件整理了一下发现对文件目录的操作的一个类还用的比较多于是对他进行了修改一些方法是为在社区中看到有网友提问增加的包括复制目录的文件和子目录移动目录文件和子目录生成Xml

知识大全 Linux下PHP删除一个目录下所有文件夹和子目录

Linux下PHP删除一个目录下所有文件夹和子目录  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 如何改变当前路径下所有目录和文件的所有权

  改变所有子目录及文件的所有权  #chown-Rowner[group]*  也可以用find命令来实现  #find-execchownowner[group];  改变所有子目录及文件的属性 

知识大全 PHP的目录操作和文件操作

PHP的目录操作和文件操作  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在任何计算机设备中文件

知识大全 Asp.net获取当前目录的方法小结

Asp.net获取当前目录的方法小结  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!有时候可能出现找

知识大全 用FileSystemWatcher对象监控C#目录改变

用FileSystemWatcher对象监控C#目录改变  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 VB.NET拷贝整个目录下所有子目录及文件的实例代码

VB.NET拷贝整个目录下所有子目录及文件的实例代码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 PHP遍历某个目录下的所有文件和子文件夹的实现代码

PHP遍历某个目录下的所有文件和子文件夹的实现代码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!本