检查现有文件和 return 文件名
Check existing file and return the name of file
我有一个文件夹:E:\Photo。我想检查文件夹中是否有任何文件“.CR2”。如果存在,return 文件“.CR2”的名称(例如,return E:\Photo02.CR2)。我只知道如何通过File.Exist()
检查现有文件“.CR2”,但我不知道如何return文件名。我如何在 C# 中做到这一点?
DirectoryInfo.GetFiles
是您要查找的内容:
var files = Directory.GetFiles(@"E:\Photo\*.CR2");
这将获得 所有 个扩展名为 CR2
的文件。如果您只需要第一次使用 files.First()
.
static void Main(string[] args)
{
var files = GetFileNames("D:\Documents","docx");
}
public static string[] GetFileNames(string dirPath,string extention)
{
string[] files = { };
if (Directory.GetFiles(dirPath, "*." + extention).Length > 0)
{
files = Directory.GetFiles(dirPath, "*." + extention);
List<string> tempList = new List<string>();
foreach (string file in files)
{
tempList.Add(file.Substring(file.LastIndexOf("\") + 1, file.Length - file.LastIndexOf("\") - 1));
}
files = tempList.ToArray();
}
return files;
}
此方法returns 包含所有文件的字符串数组。您可以将目录名和扩展名传递给该方法。
试试这个:
private String GetFiles(string PathFolderName)
{
DirectoryInfo dir = new DirectoryInfo(PathFolderName);
foreach (FileInfo fi in dir.GetFiles())
{
if (fi.ToString().Contains(".CR2"))
{
return fi.ToString();
}
}
return string.Empty;
}
使用:
string resultfile = GetFiles("E:\FilesFoldername");
我有一个文件夹:E:\Photo。我想检查文件夹中是否有任何文件“.CR2”。如果存在,return 文件“.CR2”的名称(例如,return E:\Photo02.CR2)。我只知道如何通过File.Exist()
检查现有文件“.CR2”,但我不知道如何return文件名。我如何在 C# 中做到这一点?
DirectoryInfo.GetFiles
是您要查找的内容:
var files = Directory.GetFiles(@"E:\Photo\*.CR2");
这将获得 所有 个扩展名为 CR2
的文件。如果您只需要第一次使用 files.First()
.
static void Main(string[] args)
{
var files = GetFileNames("D:\Documents","docx");
}
public static string[] GetFileNames(string dirPath,string extention)
{
string[] files = { };
if (Directory.GetFiles(dirPath, "*." + extention).Length > 0)
{
files = Directory.GetFiles(dirPath, "*." + extention);
List<string> tempList = new List<string>();
foreach (string file in files)
{
tempList.Add(file.Substring(file.LastIndexOf("\") + 1, file.Length - file.LastIndexOf("\") - 1));
}
files = tempList.ToArray();
}
return files;
}
此方法returns 包含所有文件的字符串数组。您可以将目录名和扩展名传递给该方法。
试试这个:
private String GetFiles(string PathFolderName)
{
DirectoryInfo dir = new DirectoryInfo(PathFolderName);
foreach (FileInfo fi in dir.GetFiles())
{
if (fi.ToString().Contains(".CR2"))
{
return fi.ToString();
}
}
return string.Empty;
}
使用:
string resultfile = GetFiles("E:\FilesFoldername");