美文网首页
iOS 文件写入沙盒与删除文件

iOS 文件写入沙盒与删除文件

作者: zxb有缘 | 来源:发表于2016-07-25 17:12 被阅读0次

    // 把 图片 写入 沙盒

    -(void)photoFile {

    //此处首先指定了图片存取路径(默认写到应用程序沙盒 中)

    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");}

    }

    // 删除沙盒里的文件

    -(void)deleteFile {

    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");

    }}}

    // 图片

    UIImage *img = [UIImage imageNamed:@"1.png"];

    NSData* data = UIImagePNGRepresentation(img);

    //向沙盒里 写入文件夹,并向文件夹里 写入东西

    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);

    }

    相关文章

      网友评论

          本文标题:iOS 文件写入沙盒与删除文件

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