用c#写一个程序,当程序运行时,将最后一个固定磁盘根目录中的文件及一级文件夹中的全部文件路径存储到一个数组中,然后显示到文本框中
时间: 2024-03-09 10:45:13 浏览: 73
好的,以下是用 C# 实现的代码:
```csharp
using System;
using System.IO;
using System.Linq;
using System.Windows.Forms;
namespace LastFixedDiskFiles
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
string[] filePaths = GetFilePaths();
ShowFilePaths(filePaths);
}
private string[] GetFilePaths()
{
DriveInfo lastFixedDrive = DriveInfo.GetDrives()
.Where(d => d.DriveType == DriveType.Fixed)
.OrderByDescending(d => d.RootDirectory.FullName)
.FirstOrDefault();
if (lastFixedDrive == null)
{
MessageBox.Show("No fixed drive found.");
return new string[0];
}
DirectoryInfo dir = lastFixedDrive.RootDirectory;
FileInfo[] files = dir.GetFiles();
DirectoryInfo[] subDirs = dir.GetDirectories();
foreach (DirectoryInfo subDir in subDirs)
{
files = files.Concat(subDir.GetFiles()).ToArray();
}
string[] filePaths = files.Select(f => f.FullName).ToArray();
return filePaths;
}
private void ShowFilePaths(string[] filePaths)
{
foreach (string path in filePaths)
{
textBox1.AppendText(path + Environment.NewLine);
}
}
}
}
```
这个程序有一个文本框(`textBox1`),程序加载时会自动获取最后一个固定磁盘的根目录,然后递归遍历该目录下的所有文件和一级文件夹,并将它们的路径存储到一个字符串数组中,最后将这个数组中的所有路径显示到文本框中。如果没有找到固定磁盘,则会弹出一个消息框提示用户。
阅读全文