目录

  • #基础知识
  • #只获取目录下一级的文件夹与文件
  • # 递归地输出当前运行程序所在的磁盘下的所有文件名和子目录名

正文

#基础知识

  1、获得当前运行程序的路径

1 string rootPath = Directory.GetCurrentDirectory();

  2、获得该文件夹下的文件,返回类型为FileInfo

1 string path=@"X:\XXX\XX";
2 DirectoryInfo root = new DirectoryInfo(path);
3 FileInfo[] files=root.GetFiles();

  3、获得该文件夹下的子目录,返回类型为DirectoryInfo

1 string path=@"X:\XXX\XX";
2 DirectoryInfo root = new DirectoryInfo(path);
3 DirctoryInfo[] dics=root.GetDirectories();

  4、获得文件夹名

1 string path=@"X:\XXX\XX";
2 DirectoryInfo root = new DirectoryInfo(path);
3 string dicName=root.Name;

  5、获得文件夹完整的路径名

1 string path=@"X:\XXX\XX";
2 DirectoryInfo root = new DirectoryInfo(path);
3 string dicName=root.FullName;

  6、获取文件的Name和FullName

1 string path=@"X:\XXX\XX";
2 DirectoryInfo root = new DirectoryInfo(path);
3 foreach (FileInfo f in root.GetFiles())
4 {
5     string name=f.Name;
6     string fullName=f.FullName;
7 }    

7.获取目录下的文本文档,并读取内容

  DirectoryInfo di = new DirectoryInfo(@"C:\Users\bt\Desktop\result");
  FileInfo[] f = di.GetFiles("*.txt");//获取指定扩展名的文件

  没有xml文件
  if (f.Length <= 0)
  {
    return;
  }

  遍历所有文件(*.txtl),并打开读取文件内容
  foreach (FileInfo myFile in f)
  {
    StreamReader sr = myFile.OpenText();
    string sds = sr.ReadToEnd();
    Console.WriteLine(sds);

  }
  Console.ReadKey();

  遍历所有文件夹

  DirectoryInfo[] d = di.GetDirectories();

  foreach (DirectoryInfo myDir in d)

  {

    string str = myDir.FullName;
    Console.WriteLine(str);
  }
  Console.ReadKey();

#只获取目录下一级的文件夹与文件

 1 String path = @"X:\xxx\xxx";2 3 //第一种方法4 string[] files = Directory.GetFiles(path, "*.txt");5              6 foreach (string file in files)7 {8     Console.WriteLine(file);9 }
10
11 //第二种方法
12 DirectoryInfo folder = new DirectoryInfo(path);
13
14 foreach (FileInfo file in folder.GetFiles("*.txt"))
15 {
16     Console.WriteLine(file.FullName);
17 }

# 递归地输出当前运行程序所在的磁盘下的所有文件名和子目录名

 1         static void Main(string[] args)2         {3             //获取当前程序所在的文件路径4             String rootPath = Directory.GetCurrentDirectory();5             string parentPath = Directory.GetParent(rootPath).FullName;//上级目录6             string topPath = Directory.GetParent(parentPath).FullName;//上上级目录7             StreamWriter sw = null;8             try9             {
10                 //创建输出流,将得到文件名子目录名保存到txt中
11                 sw = new StreamWriter(new FileStream("fileList.txt", FileMode.Append));
12                 sw.WriteLine("根目录:" + topPath);
13                 getDirectory(sw, topPath, 2);
14             }
15             catch (IOException e)
16             {
17                 Console.WriteLine(e.Message);
18             }
19             finally
20             {
21                 if (sw != null)
22                 {
23                     sw.Close();
24                     Console.WriteLine("完成");
25                 }
26             }
27
28         }
29
30         /// <summary>
31         /// 获得指定路径下所有文件名
32         /// </summary>
33         /// <param name="sw">文件写入流</param>
34         /// <param name="path">文件写入流</param>
35         /// <param name="indent">输出时的缩进量</param>
36         public static void getFileName(StreamWriter sw, string path, int indent)
37         {
38             DirectoryInfo root = new DirectoryInfo(path);
39             foreach (FileInfo f in root.GetFiles())
40             {
41                 for (int i = 0; i < indent; i++)
42                 {
43                     sw.Write("  ");
44                 }
45                 sw.WriteLine(f.Name);
46             }
47         }
48
49         /// <summary>
50         /// 获得指定路径下所有子目录名
51         /// </summary>
52         /// <param name="sw">文件写入流</param>
53         /// <param name="path">文件夹路径</param>
54         /// <param name="indent">输出时的缩进量</param>
55         public static void getDirectory(StreamWriter sw, string path, int indent)
56         {
57             getFileName(sw, path, indent);
58             DirectoryInfo root = new DirectoryInfo(path);
59             foreach (DirectoryInfo d in root.GetDirectories())
60             {
61                 for (int i = 0; i < indent; i++)
62                 {
63                     sw.Write("  ");
64                 }
65                 sw.WriteLine("文件夹:" + d.Name);
66                 getDirectory(sw, d.FullName, indent + 2);
67                 sw.WriteLine();
68             }
69         }

转载于:https://www.cnblogs.com/zhou0818/p/10190546.html

C#获取文件夹下的所有文件的方法相关推荐

  1. python批量生成文件夹_python实现批量获取指定文件夹下的所有文件的厂

    本文实例讲述了python实现批量获取指定文件夹下的所有文件的厂商信息的方法.分享给大家供大家参考.具体如下: 功能代码如下: import os, string, shutil,re import ...

  2. python读取文件夹下特定的文件_python os模块获取指定文件夹下所有文件名

    本文采用os.walk()和os.listdir()两种方法,获取指定文件夹下的文件名. python os模块获取指定文件夹下所有文件名 第一种方法使用os.walk(): os.walk() 方法 ...

  3. android 获取文件夹下的所有文件

    昨天,在做工作时,需要遍历所有一个文件夹下的所有文件夹,当时自己也不知道怎么做,后来在网上搜索了一些资料,发现其实也很简单. 1.获取SD是否可以读写,如果可以,则传入文件的路径 /*读取输入的某个文 ...

  4. 利用python批量查询企业信息_python实现批量获取指定文件夹下的所有文件的厂商信息...

    本文实例讲述了python实现批量获取指定文件夹下的所有文件的厂商信息的方法.分享给大家供大家参考.具体如下: 功能代码如下: import os, string, shutil,re import ...

  5. Python递归获取指定文件夹下的所有文件夹、文件

    原文地址 分类目录--万能的Python系列 因为有了一个想从一个大文件夹下find出所有的.doc文件的需求,这个需求的关键活动就是递归获得文件夹下的所有文件.通过一番找资料,整理出两种递归获取指定 ...

  6. Android 获取某个文件夹下的所有文件

    1.实现此功能,首先你要将权限问题搞明白 如果你手机是Android6.0之前的版本,则只需要在Manifest文件中添加这两条权限即可 (读写权限) <uses-permission andr ...

  7. C/C++ 获取文件夹下的所有文件列表

    本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/51009608 提供一段C/C++代码示 ...

  8. 获取文件夹下的所有文件,并将对应格式文件复制移动到对应文件夹[学生信息收集和处理]

    import os import shutil 遍历所有文件夹,获取对应格式的文件数据,并复制整理到不同的文件夹 def GetDirectory(path):""":p ...

  9. python遍历指定文件夹的所有文件_python 统计指定文件夹下所有的文件数量,BFS方式...

    python 统计指定文件夹下所有的文件数量 本来一直是有这个需求,只是以前写的是递归的方式处理,感觉对资源的占用不友好,而且python的最大递归深度不超过1000,所以改了一下,这里用广度优先遍历 ...

  10. Linux:centos释放缓存,查看磁盘空间大小,xxx文件夹, 查看文件夹大小,查看剩余内存,查看xxx软件位置,统计某文件夹,统计某文件夹下目录数量,查看文件夹大小,给文件夹下所有的文件赋值权限

    一台老的PHP后台服务器,今天用 free -m 查看,发现内存跑满了. 再 top,然后按下shift+m,也就是按内存占用百分比排序,发现排在第一的进程,才占用0.9%,那是什么占用的呢?谷歌了一 ...

最新文章

  1. 老大吩咐的可重入分布式锁,终于完美的实现了~
  2. Algorithm——最长公共前缀
  3. opencv + python3 利用ros 的 cv_bridge 传送图像消息的一种替代方法
  4. 三部门发布18个新职业:含碳排放管理员、调饮师等
  5. 引入sentinel后,json转化异常
  6. 团体程序设计天梯赛-练习集L1-007. 念数字
  7. 1020:打印ASCII码
  8. [redis] Jedis 与 ShardedJedis 设计
  9. 容器编排技术 -- Kubernetes入门概述
  10. jquery绑定的事件对ajax刷新出的数据不生效,on可能受jquery版本影响
  11. String 源码探究
  12. 【汇编语言】多模块程序结构
  13. DBD::Oracle的库文件报失问题
  14. php微博api发布微博代码,使用新浪微博API的OAuth认证发布微博实例
  15. 【模式识别】信号检测实验及MATLAB仿真
  16. 微信小程序-tab标签栏实现教程
  17. 5G技术行业背景2022
  18. sdkman 的酷炫 Logo 欢迎界面: 安装 kscript (Kotlin Shell)
  19. 2012年世界500强排行榜(企业名单)
  20. 8.2 “三十岁挨踢”的魔咒——《逆袭大学》连载

热门文章

  1. lua io详细操作
  2. 计算机软件技术基础考前整理
  3. CTFshow 文件包含 web82
  4. 弹簧压缩 时间 matlab,用matlab解决弹簧振子摆动与时间的关系
  5. 数据结构期末考试题目---笔记(SYSU)
  6. 10.1引用数据类型的转换
  7. java 数据分析库_超级好用的 Java 数据可视化库:Tablesaw
  8. 在二分类问题中,准确率一直处于50%上下的解决方法
  9. 使用ffmpeg裁剪和合并视频
  10. bzoj 1007 : [HNOI2008]水平可见直线 计算几何