iOS 沙盒文件增删

图片 写入 沙盒
//此处首先指定了图片存取路径(默认写到应用程序沙盒 中)    
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 沙盒文件增删)