目录

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

正文

#基础知识

  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. JavaIO简单代码实例
  2. ES 處於“initializing”狀態,此時主節點正在嘗試將分片分配到集群中的數據節點。 如果您看到分片仍處於初始化或未分配狀態太長時間,則可能是您的集群不穩定的警告信號。...
  3. [2019人工智能实战_廖盈嘉]第1次个人作业
  4. linux如何抓取本地socket,linux 本地socket
  5. 前端现在有发展前途吗?应届生好找工作吗?
  6. 使用 ssh-copy-id 配置 ssh免密登录
  7. 使用主成分分析进行人脸识别
  8. Redis 对象系统
  9. 免费下载收费音乐教程,亲测有效
  10. 如何将视频上传到网站服务器,如何将本地视频上传到云服务器
  11. 一个游戏程序员的学习资料(转)
  12. wps程序能打开不显示内容
  13. 微信h5支付添加域名时报错,“h5支付域名需要提供完整的支付路径“
  14. java格式化XML文件
  15. 你要的项目复盘都在这里,赶紧学习
  16. 一直以来,区块链的基础性和底层性,都是人们津津乐道的话题
  17. 2022金属非金属矿山(露天矿山)安全管理人员考试题模拟考试题库及答案
  18. 区块链革命 - 推荐序二 区块链已成为金融科技的底层技术
  19. spoj 2916. Can you answer these queries V(线段树)
  20. 浙江省冷链食品追溯系统上线 基于区块链技术开发进一步健全食品安全追溯体系

热门文章

  1. leetcode C++ 46. 全排列 给定一个 没有重复 数字的序列,返回其所有可能的全排列。
  2. conv--向量的卷积和多项式乘法
  3. SVD理论以及Python实现
  4. pytorch生成一个数组
  5. 无法载入增效工具_作业大队工具车间利用修旧赚“钱”
  6. idea在Terminal中使用maven指令
  7. 非空约束对数据更新的影响
  8. JQuery之ajax异步请求Django后端
  9. CSS3如何实现0.5边框
  10. Android 自动生成表格