string fileName = args[1];
现在例如我在fileName e:\ test1 \ myimage.bmp
现在我想获取test1中的所有文件。 我想从fileName中提取目录test1,然后从test1获取所有文件名。
get文件应该只获取特定文件类型的图像类型,例如* .bmp或* .jpeg或* .tiff,而不是获取目录中的所有文件类型。
答案 0 :(得分:3)
要获取特定文件的父文件夹,只需使用此行Path.GetDirectoryName(fileName);
您可以使用以下代码Directory.EnumerateFiles
获取与bmp,jpeg或tiff扩展名匹配的所有文件。最后你必须有类似这样的代码;
var directory = System.IO.Path.GetDirectoryName(fileName);
var files = System.IO.Directory.EnumerateFiles(directory, "*.*")
.Where(s => s.EndsWith(".bmp", StringComparison.OrdinalIgnoreCase)
|| s.EndsWith(".jpeg", StringComparison.OrdinalIgnoreCase)
|| s.EndsWith(".tiff ", StringComparison.OrdinalIgnoreCase));
答案 1 :(得分:1)
首先,您需要父目录,以便使用System.IO.Directory.GetParent()。获得父目录后,使用Directory.GetFiles(path, extension)获取具有该扩展名的所有文件。
答案 2 :(得分:1)
为此,您需要使用System.IO
命名空间。
void test()
{
var fileName = @"c:\a\a.php";
var dir = Directory.GetParent(fileName);
string[] files = Directory.GetFiles(dir);
}
使用Directory
类,您可以将文件列表作为字符串数组。
然而,这不会将文件限制为仅限图像,但您可以使用简单的LINQ来修复它:
void test()
{
var fileName = @"c:\a\a.php";
var dir = Directory.GetParent(fileName);
string[] files = Directory.GetFiles(dir).Where(o => o.EndsWith(".bmp") | o.EndsWith(".jpg") | o.EndsWith(".png")).ToArray();
}
这需要System.Linq
命名空间。