美文网首页
iOS 沙盒文件增删

iOS 沙盒文件增删

作者: 杰森马克 | 来源:发表于2016-07-08 10:53 被阅读0次
    图片 写入 沙盒
    //此处首先指定了图片存取路径(默认写到应用程序沙盒 中)    
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);    
    
    //并给文件起个文件名   
    NSString *uniquePath=[[paths objectAtIndex:0] stringByAppendingPathComponent:@"pin"];  
    BOOL blHave=[[NSFileManager defaultManager] fileExistsAtPath:uniquePath];  
      if (blHave) { 
           NSLog(@"already have"); 
           return ;   
      }  
    
    //此处的方法是将图片写到Documents文件中 如果写入成功会弹出一个警告框,提示图片保存成功   
    NSString *strPathOld = [[NSBundle mainBundle] pathForResource:@"pin" ofType:@"png"];  
    NSData *data = [NSData dataWithContentsOfFile:strPathOld]; 
    BOOL result = [data writeToFile:uniquePath atomically:YES];    
    if (result) {
            NSLog(@"success");    
    }else {
            NSLog(@"no success");    
    }
    
    删除沙盒里的文件
    NSFileManager* fileManager=[NSFileManager defaultManager];    
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);     
       
    //文件名    
    NSString *uniquePath=[[paths objectAtIndex:0] stringByAppendingPathComponent:@"pin.png"];    
    BOOL blHave=[[NSFileManager defaultManager] fileExistsAtPath:uniquePath];    
    if (!blHave) {
            NSLog(@"no  have");
            return ;    
    }else {
            NSLog(@" have");
            BOOL blDele= [fileManager removeItemAtPath:uniquePath error:nil];
            if (blDele) {
                NSLog(@"dele success");
            }else {
                NSLog(@"dele fail");
            }    
    }
    
    向沙盒里 写入文件夹,并向文件夹里 写入东西
    //创建文件夹
    NSFileManager *fileManager = [NSFileManager defaultManager];    
    NSString *document = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];    
    NSString *folder = [document stringByAppendingPathComponent:@"folder"];    
    NSString *filePath = [folder stringByAppendingPathComponent:@"test.png"];        
    if (![fileManager fileExistsAtPath:folder]) {
            BOOL blCreateFolder= [fileManager createDirectoryAtPath:folder withIntermediateDirectories:NO attributes:nil error:NULL];
            if (blCreateFolder) {
                NSLog(@" folder success");
            }else {
                NSLog(@" folder fial");
            }    
    }else {
            NSLog(@" 沙盒文件已经存在");    
    }        
    
    //写入文件
    if (![fileManager fileExistsAtPath:filePath]) {
            NSString *strPathOld = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"png"];
            NSData *data = [NSData dataWithContentsOfFile:strPathOld];
            BOOL result = [data writeToFile:filePath atomically:YES];
            if (result) {
                NSLog(@"success");
            }else {
                NSLog(@"no success");
            }    
    }
    
    得到沙盒文件夹 下的所有文件
    NSFileManager *fileManager = [NSFileManager defaultManager];        
    NSString *document=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];    
    NSString *folder =[document stringByAppendingPathComponent:@"folder"];    
    NSArray *fileList ;    
    fileList =[fileManager contentsOfDirectoryAtPath:folder error:NULL];                
    for (NSString *file in fileList) {
            NSLog(@"file=%@",file);
            NSString *path =[folder stringByAppendingPathComponent:file];
            NSLog(@"得到的路径=%@",path);    
    }
    

    来源地址:http://www.cocoachina.com/bbs/read.php?tid-78784.html

    相关文章

      网友评论

          本文标题:iOS 沙盒文件增删

          本文链接:https://www.haomeiwen.com/subject/hxzljttx.html