NSFileManager如何返回文件路径的文件夹名称
Posted
技术标签:
【中文标题】NSFileManager如何返回文件路径的文件夹名称【英文标题】:NSFileManager how to return folder name of file path 【发布时间】:2014-05-05 10:51:28 【问题描述】:我有这条路:
/Users/mac/Library/Application Support/iPhone Simulator/7.0.3/Applications/5C6B84DE-2F18-48A8-AC4D-5C4973F19050/tmp/Root/Folder 1/test.pdf
我想从这个路径中提取/Users/mac/Library/Application Support/iPhone Simulator/7.0.3/Applications/5C6B84DE-2F18-48A8-AC4D-5C4973F19050/tmp/Root/Folder 1/
。
我可以使用NSFileManager
来获取包含 test.pdf 文件的目录路径还是我需要自己解析它。
【问题讨论】:
【参考方案1】:您可以使用stringByDeletingLastPathComponent
的NSString 类来做到这一点:
NSString *path = @"/Users/mac/Library/Application Support/iPhone Simulator/7.0.3/Applications/5C6B84DE-2F18-48A8-AC4D-5C4973F19050/tmp/Root/Folder 1/test.pdf";
NSString *folder = [path stringByDeletingLastPathComponent];
Reference:
stringByDeletingLastPathComponent
返回通过从 接收器,以及任何最终路径分隔符。
- (NSString *)stringByDeletingLastPathComponent
返回值
通过删除最后一个路径组件创建的新字符串 接收器,以及任何最终路径分隔符。如果接收方 表示原样返回的根路径。讨论
请注意,此方法仅适用于文件路径(例如, URL 的字符串表示形式)。
【讨论】:
【参考方案2】:您可以使用stringByDeletingLastPathComponent
NSString *path=@"";
NSString *path1= [path stringByDeletingLastPathComponent];
【讨论】:
【参考方案3】:如果你想要没有文件名的文件路径,让我们像下面这样使用
NSString * filePath = [path stringByDeletingLastPathComponent];
【讨论】:
【参考方案4】:使用 NSString 的类方法stringByDeletingLastPathComponent
删除最后一个路径组件。希望对你有帮助。
NSString *path = @"/Users/mac/Library/Application Support/iPhone Simulator/7.0.3/Applications/5C6B84DE-2F18-48A8-AC4D-5C4973F19050/tmp/Root/Folder 1/test.pdf";
path = [path stringByDeletingLastPathComponent];
NSLog(@"path %@",path);
【讨论】:
以上是关于NSFileManager如何返回文件路径的文件夹名称的主要内容,如果未能解决你的问题,请参考以下文章
目标c从NSFileManager文件路径加载AVAsset
NSFileManager.contentsOfDirectoryAtURL 返回的文件根据 NSFileManager.fileExistsAtPath 不存在?