IOS文件管理

IOS文件管理

1.沙盒机制:IOS应用程序只能对自己创建的文件系统读取文件,这个独立、封闭、安全的空间就叫做沙盒。它可以存储程序包文件(可执行文件)、图片、音频、视频、plist文件、sqlite数据库文件以及其它文件.

一般地,IOS中每个应用程序都有自己的沙盒并且每个应用的沙盒是互相独立的,他们封闭而不能互通,老死不相往来.

沙盒中一般包含三个文件,分别是:Document、Library、temp.

Document:一般需要持久的数据都存放该目录中,可以在当中添加子文件夹,ITunes备份和恢复的时候,会包括此目录.

Library:设置程序的默认设置和其他状态信息.

temp:创建临时文件的目录,当IOS设置重启时,文件会被自动清除

2.如何获取沙盒目录

/**

获取沙盒根目录

*/

-(NSString*)getHomeDirectoryPath{

​ NSString* homePath = NSHomeDirectory();

​ NSLog(@”homePath:%@”,homePath);

​ return homePath;

}

/**

获取Document目录

@return Document目录路径

*/

-(NSString*)getDocumentPath{

​ NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

​ NSLog(@”paths:%@”,paths);

​ return [paths lastObject];

}

/**

获取library文件路径

@return library文件路径

*/

-(NSString*)getLibraryPath {

​ NSArray* paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);

​ NSLog(@”paths:%@”,paths);

​ return [paths lastObject];

}

/**

获取library文件中cache路径

@return library文件中cache路径

*/

-(NSString*)getCachePathInLibrary{

​ NSArray* paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);

​ NSLog(@”paths:%@”,paths);

​ return [paths lastObject];

}

/**

获取temp的路径

@return temp的路径

*/

-(NSString*)getTempPath {

​ NSString* temp = NSTemporaryDirectory();

​ NSLog(@”temp:%@”,temp);

​ return temp;

}

3.NSString类来处理关于文件路径
如:NSString *filePth = @”/Users/apple/testfile.txt”;

常用方法如下:
/**
获取文件路径各个部分

@return 文件路径各个部分
*/
-(NSArray*)patchComponents{
NSArray* array = [filePth pathComponents];
return array;
}

/**
获取文件路径最后部分

@return 文件路径最后部分
*/
-(NSString*)lastPathComponet {
return [filePth lastPathComponent];
}

/**
获取删除文件路径最后部分的路径

@return 文件路径删除最后部分的剩余路径
*/
-(NSString*)stringByDeletingLastPathComponent {
return [filePth stringByDeletingLastPathComponent];
}

/**
给文件路径最后增加一个子路径

@param str 子路径名字
@return 追加子路径后的文件路径
*/
-(NSString*)stringByAppendingPathConmponent:(NSString*)str{
return [filePth stringByAppendingString:str];
}

/**
获取文件的扩展名

@return 文件的扩展名
*/
-(NSString*)pathExtension{
return [filePth pathExtension];
}

/**
获取删除文件扩展名后的文件路径

@return 删除扩展名后的文件路径名
*/
-(NSString*)stringByDeletingPathExtension{
return [filePth stringByDeletingPathExtension];
}

/**
给文件路径追加文件扩展名

@param str 文件扩展名
@return 追加文件扩展名后的文件路径
*/
-(NSString*)stringByAppendingPathExtension:(NSString*)str {
return [filePth stringByAppendingPathExtension:str];
}

总结:在文件管理中,我们通常需要结合NSString来做,因此NSString封装的方法非常便于我们操作文件。

猜你喜欢

转载自blog.csdn.net/u012149734/article/details/80569782