使用Directory类库我正在尝试检索文件夹中存在的所有文件名称,如下所示:
private void button1_Click(object sender, EventArgs e)
{
string[] filePaths = Directory.GetFiles(@"d:\Images\", "*.png");
foreach (string img in filePaths)
{
listBox1.Items.Add(img.ToString());
}
}
如您所知,此方法返回文件的完整路径和名称,但我只需要获取文件名。是否可以在目录类中执行此操作?我必须使用Path类吗?如果是的话,如何在没有文件名的情况下为变量分配路径? 谢谢,
答案 0 :(得分:2)
您可以使用Path.GetFileName
方法
var file = Path.GetFileName(img);
答案 1 :(得分:2)
试试这个:
using System.IO;
...
private void button1_Click(object sender, EventArgs e)
{
string[] filePaths = Directory.GetFiles(@"d:\Images\", "*.png");
foreach (string img in filePaths)
{
listBox1.Items.Add(Path.GetFileName(img));
}
}
答案 2 :(得分:0)
您可以使用
var files = Directory.EnumerateFiles(path,searchpattern);
var files = Directory.EnumerateFiles(@"C:\Users\roberth\Programming_Projects\Common\UI\bin\Debug\",
"*.xml");
var filename = new List<string>();
Console.WriteLine("Parsing Files...");
foreach (var file in files)
{
filename.Add(file);
Console.WriteLine("Parsing file: " + file);
....
答案 3 :(得分:0)
使用DirectoryInfo
代替Directory
。它返回FileInfo
,您可以获得。{/ p>的Name
属性
private void button1_Click(object sender, EventArgs e)
{
var filePaths = new DirectoryInfo.GetFiles(@"d:\Images\", "*.png").Select(x => x.Name);
foreach (string img in filePaths)
{
listBox1.Items.Add(img.ToString());
}
}
答案 4 :(得分:0)
来自MSDN
string fileName = @"C:\mydir\myfile.ext";
string path = @"C:\mydir\";
string result;
result = Path.GetFileName(fileName);
Console.WriteLine("GetFileName('{0}') returns '{1}'",
fileName, result);
result = Path.GetFileName(path);
Console.WriteLine("GetFileName('{0}') returns '{1}'",
path, result);
// This code produces output similar to the following:
//
// GetFileName('C:\mydir\myfile.ext') returns 'myfile.ext'
// GetFileName('C:\mydir\') returns ''
答案 5 :(得分:0)
string aPath= @"course\train\yes\";
var fileNames=Directory.GetFiles(aPath).Select(name=>Path.GetFileName(name)).ToArray();