如何读取父文件夹和子文件夹中的特定文件(.xml)
问题描述:
我对c#语言还不熟悉。我想编写代码,以便它可以读取父文件夹及其子文件夹中的文件类型xml
等特定文件。如何读取父文件夹和子文件夹中的特定文件(.xml)
我试过了我在堆栈上搜索的几个代码,它的工作原理。这里的问题只在父文件夹中读取xml
文件,而不是在子文件夹中。
实施例:
我有一个文件夹(d:\数据)和内部“数据”文件夹具有另一个文件夹是“输入”文件夹中。这两个文件夹都会有xml文件。
该代码将只读取'data'文件夹中的xml文件,而不是'input'文件夹。
我希望它读取所有的XML文件中的所有文件夹中,包括在文件中提供内部“数据”文件夹“数据”
有人可以给我一些链接或暗示如何实现代码。这里真的很感谢你的帮助!
示例代码:
static void Main(string[] args)
{
String folderpath = @"d:\data";
foreach (string file in Directory.EnumerateFiles(folderpath, "*.xml"))
{
string contents = File.ReadAllText(file);
Console.WriteLine(contents)
}
}
答
Directory.EnumerateFiles
,如图here,接受不正是你需要的参数(第三个也是最后一个)。
如果没有参数传递,只会通过传递SearchOption.AllDirectories
作为最后一个参数来搜索顶级目录,搜索也会包含所有的子目录。
例子:
foreach (string file in Directory.EnumerateFiles(folderpath, "*.xml", SearchOption.AllDirectories))
{
string contents = File.ReadAllText(file);
Console.WriteLine(contents)
}
.NET有方法可以得到一个目录下的子文件夹,列表文件名等。请在你所需要的一些研究。对“c#get子目录”的简单Google搜索为我提供了足够的帮助。 –