用户通过dialogBox选择多个文件:
OpenFileDialog dialF = new OpenFileDialog();
DialogResult dialR = dialF.ShowDialog();
filesRepNames = dialF.FileNames; // save the name of files for later use
这些文件存储在一个字符串数组中。名称(对于每个)是文件的完整地址。我只想通过它自己存储文件的名称,而不是整个文件的完整地址。有没有办法只存储文件名而不是整个信息。
示例)我不想要:
D:\margin\2012\Cam\bin\Debug\action.JPG
我只想:
action.jpg
请注意,这些多个文件不是一个,否则我可以使用属性“fileinfo”
答案 0 :(得分:4)
您可以将LINQ与方法Path.GetFileName一起使用:
filesRepNames = dialF.FileNames.Select(p => Path.GetFileName(p))
.ToList();
答案 1 :(得分:1)
使用Path命名空间获取文件名:
string sFileSpec = "E:\\Dev\\Test.Jpg";
MessageBox.Show(System.IO.Path.GetFileName(sFileSpec));
答案 2 :(得分:1)
public string[] getFilenameFromPath(string[] filePath)
{
char[] splitChar = new Char[]{'\\','\\'};
for (int i = 0; i < filePath.Length; i++)
{
filePath[i] = filePath[i].Split(splitChar, StringSplitOptions.RemoveEmptyEntries).Last();
}
return filePath;
}