【发布时间】:2015-11-20 19:15:41
【问题描述】:
我有一个充满图像的文件夹,并将图像名称和完整文件路径存储在我的程序的数组中。是否可以从文件路径中获取文件夹和文件名。
所以如果我有一个文件路径
C:\Users\Ryan\Documents\myImage.jpg
我需要得到
Documents\myImage.jpg
【问题讨论】:
标签: c#
我有一个充满图像的文件夹,并将图像名称和完整文件路径存储在我的程序的数组中。是否可以从文件路径中获取文件夹和文件名。
所以如果我有一个文件路径
C:\Users\Ryan\Documents\myImage.jpg
我需要得到
Documents\myImage.jpg
【问题讨论】:
标签: c#
使用此代码:
FileInfo f = new FileInfo(@"C:\Users\Ryan\Documents\myImage.jpg");
string result = Path.Combine(f.Directory.Name, f.Name);
【讨论】:
Path.Combine,因为如果你在根目录下,例如C:\file.txt 然后Directory.Name 返回C:\ 。
Path 类具有处理文件名的方法:
var path = @"C:\Users\Ryan\Documents\myImage.jpg";
var fileName = Path.GetFileName(path);
var directoryName = Path.GetDirectoryName(path);
var lastDirectoryName = Path.GetFileName(directoryName);
var result = Path.Combine(lastDirectoryName, fileName);
【讨论】:
Path.GetFileName 用于目录的可读性不如FileInfo.Directory.Name 方法。 +1
var pathParts = filepath.split('\\');
var lastPath = pathParts[pathParts - 2] + @"\" + pathParts[pathParts - 1];
【讨论】:
这只是在玩字符串,但它可以完成工作
string path = "C:\Users\Ryan\Documents\myImage.jpg";
string[] temp = path.Split('\');
string folder = temp[temp.Length - 2] + @"\" + temp[temp.Length - 1];
【讨论】: