NSString *NSUserName(void);
返回用户名
NSString *NSFullUserName(void);
返回完整用户名
NSString *NSHomeDirectory(void);
返回当前工作目录
NSString * _Nullable NSHomeDirectoryForUser(NSString * _Nullable userName);
返回用户的工作目录
NSString *NSTemporaryDirectory(void);
返回临时工作目录
NSString *NSOpenStepRootDirectory(void);
返回用户的系统目录
NSArray<NSString *> *NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory directory, NSSearchPathDomainMask domainMask, BOOL expandTilde);
获取搜索路径
typedef NS_ENUM(NSUInteger, NSSearchPathDirectory) {
NSApplicationDirectory = 1,
NSDemoApplicationDirectory,
NSDeveloperApplicationDirectory,
NSAdminApplicationDirectory,
NSLibraryDirectory,
NSDeveloperDirectory,
NSUserDirectory,
NSDocumentationDirectory,
NSDocumentDirectory,
NSCoreServiceDirectory,
NSAutosavedInformationDirectory NS_ENUM_AVAILABLE(10_6, 4_0) = 11,
NSDesktopDirectory = 12,
NSCachesDirectory = 13,
NSApplicationSupportDirectory = 14,
NSDownloadsDirectory NS_ENUM_AVAILABLE(10_5, 2_0) = 15,
NSInputMethodsDirectory NS_ENUM_AVAILABLE(10_6, 4_0) = 16,
NSMoviesDirectory NS_ENUM_AVAILABLE(10_6, 4_0) = 17,
NSMusicDirectory NS_ENUM_AVAILABLE(10_6, 4_0) = 18,
NSPicturesDirectory NS_ENUM_AVAILABLE(10_6, 4_0) = 19,
NSPrinterDescriptionDirectory NS_ENUM_AVAILABLE(10_6, 4_0) = 20,
NSSharedPublicDirectory NS_ENUM_AVAILABLE(10_6, 4_0) = 21,
NSPreferencePanesDirectory NS_ENUM_AVAILABLE(10_6, 4_0) = 22,
NSApplicationScriptsDirectory NS_ENUM_AVAILABLE(10_8, NA) = 23,
NSItemReplacementDirectory NS_ENUM_AVAILABLE(10_6, 4_0) = 99,
NSAllApplicationsDirectory = 100,
NSAllLibrariesDirectory = 101,
NSTrashDirectory NS_ENUM_AVAILABLE(10_8, NA) = 102
};
typedef NS_OPTIONS(NSUInteger, NSSearchPathDomainMask) {
NSUserDomainMask = 1,
NSLocalDomainMask = 2,
NSNetworkDomainMask = 4,
NSSystemDomainMask = 8,
NSAllDomainsMask = 0x0ffff
};
获取Documents目录路径
NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES);
NSString
+ (NSString *)pathWithComponents:(NSArray<NSString *> *)components;
各个路径组件构成路径
@property (readonly, copy) NSArray<NSString *> *pathComponents;
返回各个路径组件
@property (getter=isAbsolutePath, readonly) BOOL absolutePath;
是否是绝对路径
@property (readonly, copy) NSString *lastPathComponent;
返回最后的路径组件
@property (readonly, copy) NSString *stringByDeletingLastPathComponent;
删除最后的路径组件
- (NSString *)stringByAppendingPathComponent:(NSString *)str;
添加路径组件
@property (readonly, copy) NSString *pathExtension;
返回文件扩展名
@property (readonly, copy) NSString *stringByDeletingPathExtension;
删除文件扩展名
- (nullable NSString *)stringByAppendingPathExtension:(NSString *)str;
添加文件扩展名
NSString *stringByAbbreviatingWithTildeInPath;
将系统主目录替换为“~”
NSString *stringByExpandingTildeInPath;
将“~” 替换为系统主目录
NSString *stringByStandardizingPath;
通过尝试解析~、..、.、和符号链接来标准化路径
NSString *stringByResolvingSymlinksInPath;
尝试解析路径中的符号链接
- (NSArray<NSString *> *)stringsByAppendingPaths:(NSArray<NSString *> *)paths;
批量添加多个路径,得到一个路径数组
@property (readonly) const char *fileSystemRepresentation
返回文件路径的c字符串
- (BOOL)getFileSystemRepresentation:(char *)cname maxLength:(NSUInteger)max;
获取文件路径的c字符串
NSArray
- (NSArray<NSString *> *)pathsMatchingExtensions:(NSArray<NSString *> *)filterTypes;
过滤数组中的文件类型