检查现有文件并返回文件名
Posted
技术标签:
【中文标题】检查现有文件并返回文件名【英文标题】:Check existing file and return the name of file 【发布时间】:2018-01-12 02:06:12 【问题描述】:我有一个文件夹:E:\Photo。我想检查文件夹中是否有任何文件“.CR2”。如果存在,则返回文件名“.CR2”(例如,返回 E:\Photo\0102.CR2)。我只知道如何通过File.Exist()
检查是否存在文件“.CR2”,但我不知道如何返回文件名。如何在 C# 中做到这一点?
【问题讨论】:
从什么返回到什么?没有任何代码没人能猜到... 【参考方案1】: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;
此方法返回一个包含所有文件的字符串数组。您可以将目录名和扩展名传递给方法。
【讨论】:
非常感谢!我明白了!【参考方案2】:试试这个:
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");
【讨论】:
【参考方案3】:DirectoryInfo.GetFiles
是您要查找的内容:
var files = Directory.GetFiles(@"E:\Photo\*.CR2");
这将获得 所有 个扩展名为 CR2
的文件。如果您只需要第一次使用files.First()
。
【讨论】:
非常感谢!这完全是我想要的!以上是关于检查现有文件并返回文件名的主要内容,如果未能解决你的问题,请参考以下文章
Android:打开现有 PDF 文件检查并填写复选框字段,然后保存文档的新版本