1.文件存储

ios沙盒机制:应用程序只能访问该应用程序在文件系统中创建的目录,

Documents文件夹:文档文件夹,存放持久化的数据,

library文件夹:caches:存放缓存文件,重启或退出程序时,数据不会丢失

                   Perferences:偏好设置,存放用户设置信息

tmp文件夹:存放临时的缓存数据,在重启或退出程序时清空;

基本文件操作:

- (void)viewDidLoad

{

    [super viewDidLoad];  

//   文件管理者

//    NSFileManager

//创建文件管理对象

    NSFileManager *fm = [NSFileManager defaultManager];

//获取Documents文件夹路径    

    NSArray *array = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

    NSString *documentPath = [array objectAtIndex:0];  

//   创建文件夹

//    1.创建文件夹的路径

NSString *directoryPath = [documentPath  stringByAppendingPathComponent:@"testFile"];//设置文件夹路径,stringByAppendingPathComponent方法会自动用"/"分隔形成完整路径,

    [fm createDirectoryAtPath:directoryPath withIntermediateDirectories:YES attributes:nil error:nil];

//    2.创建文件

//    拼接文件的路径

    NSString *filePath = [directoryPath stringByAppendingPathComponent:@"file"];

//    NSData  用来包装数据的

//    存的都是二进制数据

//    可以存各种数据 字符串 音频  图像 数组 字典

//   把字符串转换成data

    NSString *string = @"你好";

//   UTF8 编码

    NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];

//    创建文件

    [fm createFileAtPath:filePath contents:data attributes:nil]; 

//    判断文件是否存在

   BOOL success = [fm fileExistsAtPath:filePath];

    NSLog(@"是否存在文件%d",success); 

//    来获取某个路径下的所有文件的路径

    NSArray *subpathArray = [fm subpathsAtPath:directoryPath];

    for (NSString *path in subpathArray)

    {

        NSLog(@"---->%@",path);

    }

    NSString *path2 = [directoryPath stringByAppendingPathComponent:@"file副本"]; 

//    判断内容是否相等

//    contentsEqualAtPath

    BOOL success1 = [fm contentsEqualAtPath:filePath andPath:path2];

    NSLog(@"success1 ==  %d",success1);

//    移动某路径下的元素到另外一个路径  

    NSString *destinationPath = [NSHomeDirectory() stringByAppendingPathComponent:@"a.txt"];

//    把文件移动到某文件路径(而不是指的目录)

    [fm moveItemAtPath:filePath toPath:destinationPath error:nil];

//    复制到某个文件路径下

    [fm copyItemAtPath:destinationPath toPath:filePath error:nil];

//    移除某路径下的文件

    [fm removeItemAtPath:filePath error:nil];

}

 

 

posted on 2015-07-27 22:50  LDoctor  阅读(204)  评论(0编辑  收藏  举报