C#获取文件夹下的所有文件的方法
目录
- #基础知识
- #只获取目录下一级的文件夹与文件
- # 递归地输出当前运行程序所在的磁盘下的所有文件名和子目录名
正文
#基础知识
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 }
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#获取文件夹下的所有文件的方法相关推荐
- python批量生成文件夹_python实现批量获取指定文件夹下的所有文件的厂
本文实例讲述了python实现批量获取指定文件夹下的所有文件的厂商信息的方法.分享给大家供大家参考.具体如下: 功能代码如下: import os, string, shutil,re import ...
- python读取文件夹下特定的文件_python os模块获取指定文件夹下所有文件名
本文采用os.walk()和os.listdir()两种方法,获取指定文件夹下的文件名. python os模块获取指定文件夹下所有文件名 第一种方法使用os.walk(): os.walk() 方法 ...
- android 获取文件夹下的所有文件
昨天,在做工作时,需要遍历所有一个文件夹下的所有文件夹,当时自己也不知道怎么做,后来在网上搜索了一些资料,发现其实也很简单. 1.获取SD是否可以读写,如果可以,则传入文件的路径 /*读取输入的某个文 ...
- 利用python批量查询企业信息_python实现批量获取指定文件夹下的所有文件的厂商信息...
本文实例讲述了python实现批量获取指定文件夹下的所有文件的厂商信息的方法.分享给大家供大家参考.具体如下: 功能代码如下: import os, string, shutil,re import ...
- Python递归获取指定文件夹下的所有文件夹、文件
原文地址 分类目录--万能的Python系列 因为有了一个想从一个大文件夹下find出所有的.doc文件的需求,这个需求的关键活动就是递归获得文件夹下的所有文件.通过一番找资料,整理出两种递归获取指定 ...
- Android 获取某个文件夹下的所有文件
1.实现此功能,首先你要将权限问题搞明白 如果你手机是Android6.0之前的版本,则只需要在Manifest文件中添加这两条权限即可 (读写权限) <uses-permission andr ...
- C/C++ 获取文件夹下的所有文件列表
本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/51009608 提供一段C/C++代码示 ...
- 获取文件夹下的所有文件,并将对应格式文件复制移动到对应文件夹[学生信息收集和处理]
import os import shutil 遍历所有文件夹,获取对应格式的文件数据,并复制整理到不同的文件夹 def GetDirectory(path):""":p ...
- python遍历指定文件夹的所有文件_python 统计指定文件夹下所有的文件数量,BFS方式...
python 统计指定文件夹下所有的文件数量 本来一直是有这个需求,只是以前写的是递归的方式处理,感觉对资源的占用不友好,而且python的最大递归深度不超过1000,所以改了一下,这里用广度优先遍历 ...
- Linux:centos释放缓存,查看磁盘空间大小,xxx文件夹, 查看文件夹大小,查看剩余内存,查看xxx软件位置,统计某文件夹,统计某文件夹下目录数量,查看文件夹大小,给文件夹下所有的文件赋值权限
一台老的PHP后台服务器,今天用 free -m 查看,发现内存跑满了. 再 top,然后按下shift+m,也就是按内存占用百分比排序,发现排在第一的进程,才占用0.9%,那是什么占用的呢?谷歌了一 ...
最新文章
- JavaIO简单代码实例
- ES 處於“initializing”狀態,此時主節點正在嘗試將分片分配到集群中的數據節點。 如果您看到分片仍處於初始化或未分配狀態太長時間,則可能是您的集群不穩定的警告信號。...
- [2019人工智能实战_廖盈嘉]第1次个人作业
- linux如何抓取本地socket,linux 本地socket
- 前端现在有发展前途吗?应届生好找工作吗?
- 使用 ssh-copy-id 配置 ssh免密登录
- 使用主成分分析进行人脸识别
- Redis 对象系统
- 免费下载收费音乐教程,亲测有效
- 如何将视频上传到网站服务器,如何将本地视频上传到云服务器
- 一个游戏程序员的学习资料(转)
- wps程序能打开不显示内容
- 微信h5支付添加域名时报错,“h5支付域名需要提供完整的支付路径“
- java格式化XML文件
- 你要的项目复盘都在这里,赶紧学习
- 一直以来,区块链的基础性和底层性,都是人们津津乐道的话题
- 2022金属非金属矿山(露天矿山)安全管理人员考试题模拟考试题库及答案
- 区块链革命 - 推荐序二 区块链已成为金融科技的底层技术
- spoj 2916. Can you answer these queries V(线段树)
- 浙江省冷链食品追溯系统上线 基于区块链技术开发进一步健全食品安全追溯体系