1.获取一个文件夹下面所有目标文件(不只是一层子文件,不管是多少层都能根据后缀名获取到)
返回满足指定条件的完整文件名的可枚举集合。
EnumerateFiles(String, String, SearchOption)
1. 参数1:要搜索的目录的相对或绝对路径。 此字符串不区分大小写。
2. 参数2:要与 path 中的文件名匹配的搜索字符串。 此参数可以包含有效文本路径和通配符(* 和 ?)的组合。
3. 参数3:指定搜索操作是应仅包含当前目录还是应包含所有子目录的枚举值之一。 默认值是 TopDirectoryOnly
TopDirectoryOnly:仅搜索当前目录; AllDirectories:搜索当前目录和他所有的子文件
用法:
string sourceDirectory = @"C:\current";
var txtFiles = Directory.EnumerateFiles(sourceDirectory, "*.txt", SearchOption.AllDirectories)
//在源目录下搜索所有txt文件
foreach(var txtFile in txtFiles)
{
var txtContent = File.ReadAllText(txtFile);
//读取文件信息
File.WriteAllText("Path",txtContent)
//将信息写入另一个文件(此文件可以自动创建,如果已经存在,则会覆盖文件)
(ReadToEnd()方法用于流的读取,不要弄混)
}
//后面循环的例子不是太好,但是知识希望能看懂他的用法
2.获取应用程序当前工作目录
var goalFolder = Directory.GetCurrentDirectory();
3.获取指定目录的文件名称
var fileNames = Directory.GetFiles(goalFolder);
//只返回文件名,如果本目录下只有文件夹没有文件则为空
4.检索指定路径父目录
var parentFolder = Directory.GetParents(path);
var parentFolder = Path.GetDirectoryName(path);
5.获取当前程序运行目录
var path = AppDomain.CurrentDomain.BaseDirectory;