c#编写一基于Windows From的程序,实现对C盘根目录文件夹的遍历,打印文件夹信息。并新建一文件夹,在文件夹中创建一文本文件。
时间: 2024-10-17 19:06:58 浏览: 16
C#遍历文件夹及子目录下所有图片
在C#中,你可以使用System.IO命名空间下的Directory和File类来实现这个功能。首先,你需要获取C盘根目录,然后遍历文件夹,最后创建新的文件夹和文本文件。下面是一个简单的示例:
```csharp
using System;
using System.IO;
namespace FileExplorer
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnBrowse_Click(object sender, EventArgs e)
{
string rootPath = @"C:\"; // C盘根目录
PrintFolderInfo(rootPath);
}
private void PrintFolderInfo(string path)
{
try
{
Console.WriteLine($"开始遍历 {path}:");
// 获取目录信息
DirectoryInfo dirInfo = new DirectoryInfo(path);
FileInfo[] files = dirInfo.GetFiles();
DirectoryInfo[] subDirs = dirInfo.GetDirectories();
// 打印文件和子目录信息
foreach (FileInfo file in files)
{
Console.WriteLine($" - 文件: {file.FullName}, 类型: {file.Extension}");
}
Console.WriteLine("--- 子目录 ---");
foreach (DirectoryInfo subdir in subDirs)
{
Console.WriteLine($" - 子目录: {subdir.FullName}");
}
Console.WriteLine($"共找到 {files.Length + subDirs.Length} 项");
// 创建新文件夹和文本文件
string newFolderPath = Path.Combine(dirInfo.FullName, "NewFolder");
if (!Directory.Exists(newFolderPath))
{
Directory.CreateDirectory(newFolderPath);
Console.WriteLine($"成功创建新文件夹: {newFolderPath}");
string newTextFilePath = Path.Combine(newFolderPath, "NewText.txt");
using (StreamWriter writer = File.CreateText(newTextFilePath))
{
writer.WriteLine("这是新创建的文本文件内容");
Console.WriteLine($"成功创建新文本文件: {newTextFilePath}");
}
}
else
{
Console.WriteLine($"新文件夹已存在: {newFolderPath}");
}
}
catch (Exception ex)
{
Console.WriteLine($"发生错误: {ex.Message}");
}
}
}
}
```
在这个示例中,`btnBrowse_Click`事件处理程序会在点击按钮时调用`PrintFolderInfo`方法,该方法会显示C盘根目录的文件和子目录,并创建一个新的子文件夹以及其中的一个文本文件。
阅读全文