c#请输出指定目录下所有文件和文件夹的名称包含各子目录及其下面的文件。
时间: 2024-05-07 07:23:59 浏览: 7
好的,我明白了。可以使用C#的Directory类和递归方法来实现。具体代码如下:
```
using System;
using System.IO;
class Program
{
static void Main(string[] args)
{
string path = @"C:\example"; //指定路径
DirectoryInfo dir = new DirectoryInfo(path);
PrintDirectoriesAndFiles(dir); //调用递归方法
}
static void PrintDirectoriesAndFiles(DirectoryInfo dir)
{
Console.WriteLine(dir.FullName);
foreach (FileInfo file in dir.GetFiles())
{
Console.WriteLine(file.Name);
}
foreach (DirectoryInfo subDir in dir.GetDirectories())
{
PrintDirectoriesAndFiles(subDir); //递归调用
}
}
}
```
上述代码会打印出指定目录下所有文件和文件夹的名称,包含各子目录及其下面的文件。
相关问题
c#获取文件夹下所有文件包括子文件夹下
可以使用递归的方式来遍历文件夹下的所有文件,包括子文件夹下的文件。以下是一个示例代码:
```csharp
using System;
using System.IO;
class Program
{
static void Main(string[] args)
{
string rootFolder = @"C:\example";
TraverseDirectory(rootFolder);
}
static void TraverseDirectory(string folder)
{
// 遍历当前文件夹下的所有文件
foreach (string file in Directory.GetFiles(folder))
{
Console.WriteLine(file);
}
// 递归遍历子文件夹
foreach (string subFolder in Directory.GetDirectories(folder))
{
TraverseDirectory(subFolder);
}
}
}
```
在上面的示例代码中,`TraverseDirectory` 方法接收一个文件夹路径作为参数,首先遍历该文件夹下的所有文件,然后递归调用自身来遍历子文件夹下的文件。你只需要将 `rootFolder` 变量替换成你需要遍历的文件夹路径即可。
C# 从指定文件夹下读取所有TXT文件 并逐行读取TXT文件的内容
以下是C#从指定文件夹下读取所有TXT文件并逐行读取TXT文件内容的示例代码:
```csharp
using System;
using System.IO;
class Program
{
static void Main()
{
string folderPath = @"C:\YourFolderPath"; // 指定文件夹路径
string[] txtFiles = Directory.GetFiles(folderPath, "*.txt"); // 获取文件夹下所有的TXT文件
foreach (string filePath in txtFiles)
{
Console.WriteLine("文件名: {0}", Path.GetFileName(filePath));
using (StreamReader reader = new StreamReader(filePath))
{
string line;
while ((line = reader.ReadLine()) != null)
{
Console.WriteLine("本行的数据为: {0}", line);
}
}
Console.WriteLine();
}
Console.ReadLine();
}
}
```
这段代码首先使用`Directory.GetFiles()`方法获取指定文件夹下所有的TXT文件路径。然后,使用`StreamReader`类逐行读取每个TXT文件的内容,并将每行数据打印到控制台上。
请注意,你需要将`folderPath`变量替换为你想要读取的文件夹路径。