路径工具类NSPathUtilities.h
路径类NSPathUtilities.h包含了
NSString的函数和分类扩展,他允许你操作路径名。
应该竟可能的使用这些函数,以便使程序更独立于文件系统结构及特定文件和目录的位置
NSPathUtilities.h常用的方法
+(NSString*)pathWithComponents:components
根据components中得元素构造有效路径
-(NSArray*)pathComponents
析构路径,获得组成此路径的各个部分
-(NSString*)lastPathComponent
提取路径的最后一个组成部分
-(NSString*)pathExtension
从路径的最后一个组成部分中提取其扩展名
-(NSString*)stringByAppendingPathComponent:path
将path添加到现有路径的末尾
-(NSString*)stringByDeletingLastPathComponent
删除路径的最后一个组成部分
-(NSString*)stringByDeletingPathExtension
从文件的最后一部分删除扩展名
-(NSString*)stringByExpandingTildeInPath
将路径中得代字符扩展成用户主目录(~)或指定用户的主目录(~user)
-(NSString*)stringByResolvingSymlinksInPath
尝试解析路径中的符号链接
-(NSString*)stringbyStandardizingPath 通过尝试解析~、..、.、和符号链接来标准化路径
系统路径函数
NSString *NSUserName(void) 返回当前用户的登录名
NSString
*NSFullUserName(void) 返回当前用户的完整用户名
NSString *NSHomeDirectory(void)
返回当前用户主目录的路径
NSString *NSHomeDirectoryForUser(NSString *user)
返回用户user的主目录
NSString *NSTemporaryDirectory(void)
返回可用于创建零时文件的路径目录
1、程序实例:
[objc] view plaincopyprint?
- //
- // main.m
- // NSPathUtilities.h
- //
- // Created by swinglife on 13-11-13.
- // Copyright (c) 2013年 swinglife. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- int main(int argc, const charchar * argv[])
- {
- @autoreleasepool {
- NSString *fileName = @"testPath.java";
- NSString *path,*tempdir,*extension,*homedir,*fullpath;
- NSArray *components;
- NSFileManager *fm = [NSFileManager defaultManager];
- //获取临时的工作目录
- tempdir = NSTemporaryDirectory();
- NSLog(@"临时工作目录:%@",tempdir);
- //从当前目录中提取基本目录
- path = [fm currentDirectoryPath];
- NSLog(@"基础目录:%@",[path lastPathComponent]);
- //创建文件fileName在当前目录中得完整路径
- fullpath = [path stringByAppendingPathComponent:fileName];
- NSLog(@"%@完整路径:%@",fileName,fullpath);
- //获取文件扩展名
- extension = [fullpath pathExtension];
- NSLog(@"文件%@的扩展名是%@",fullpath,extension);
- //获取用户的主目录
- homedir = NSHomeDirectory();
- NSLog(@"用户主目录:%@",homedir);
- //拆分路径为各组成部分
- components = [homedir pathComponents];
- for (path in components) {
- NSLog(@"%@",path);
- }
- }
- return 0;
- }
Foundation函数NSSearchPathForDirectoriesInDomains它可用于查找系统的特殊目录
,如Application和Documents目录。列如:定义一个方法saveFilePath,
它返回文件saveFile在
Documents目录中的路径。这个方法可以用于应用里保存一些数据到文件中
-(NSString*)saveFilePath{
NSArray
*dirList =
NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSuserDomainMask,YES);
NSString
*docDir = [dirList objectAtIndex:0];
return [docDir
stringByAppendingPathComponent:@"saveFile"];
}
当为ios编写程序时,NSSearchPathForDirectoriesInDomains函数的第二个参数应该是NSuserDomainMask并希望得到一个包含单个路径的数组作为返回
IOS常用目录:
Documents(NSDocumentDirectory)
用于写入应用相关数据文件的目录。在IOS中写入这里的文件能够与Itunes共享并访问,存储在这里的文件会自动备份到云端。
Library/Caches(NSCachesDirectory)
用于写入应用支持文件的目录,保存应用程序再次启动需要的信息,iTunes不会对这个目录的内容进行备份.
tmp(use
NSTemporaryDirectory())
这个目录用于存放零时文件,在程序终止时需要移除这些文件,当应用程序不再需要这些零时文件是,应该将其从这个目录中删除
Library/Preferences
这个目录包含应用程序的偏好设置文件,使用NSUserDefaults类进行偏好设置文件的创建、读取、和修改。