我有一个带有文件名列表的下拉列表。在下拉列表中选择文件名时,请执行以下操作
string filename = ddl.SelectedItem.Text;
string path = "F:\\WorkingCopy\\files\\" + filename +".docx";
DownloadFile(path,filename);
在文件文件夹中,文件可以包含任何扩展名。由于我已经在字符串路径中对“ .docx”进行了硬编码,所以一切正常。但是我需要单独使用ddl.SelectedItem.Text获得文件名的扩展名。你能告诉我怎么做吗?
我有的东西1.)文件名中没有扩展名
string filename = ddl.SelectedItem.Text;
2.)文件所在的路径
string path = "F:\\WorkingCopy\\files\\" + filename
我正在尝试使用这些文件扩展名。有人可以建议吗?
您可以这样使用Directory.EnumerateFiles()
:
string path = "F:\\WorkingCopy\\files\\";
string filename = ddl.SelectedItem.Text;
string existingFile = Directory.EnumerateFiles(path, filename + ".*").FirstOrDefault();
if (!string.IsNullOrEmpty(existingFile))
Console.WriteLine("Extension is: " + Path.GetExtension(existingFile));
Directory.EnumerateFiles
搜索的path
文件,例如filename.*
。Path.GetExtension()
返回找到的文件的扩展名。
通常,我更喜欢使用EnumerateFiles()
代替,GetFiles
因为它返回一个IEnumerable<string>
代替string[]
。这表明它仅根据需要返回匹配文件,而不是立即搜索所有匹配文件。(对于您的情况,这并不重要,只是一般性说明)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句