IOS拷贝文件到沙盒

- (void)copyFileFromResourceTOSandbox
{
    
    //文件类型
    NSString * docPath = [[NSBundle mainBundle] pathForResource:@"area" ofType:@"db"];
    
    // 沙盒Documents目录
    NSString * appDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
    
    // 沙盒Library目录
    //NSString * appDir = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) lastObject];
    //appLib  Library/Caches目录
    //NSString *appLib = [appDir stringByAppendingString:@"/Caches"];
    
    NSFileManager *fileManager = [NSFileManager defaultManager];
    NSString *filePath = [appDir stringByAppendingPathComponent:@"area.db"];
    if(![fileManager fileExistsAtPath:filePath]) //如果不存在
    {
        BOOL filesPresent = [self copyMissingFile:docPath toPath:appDir];
        if (filesPresent) {
            NSLog(@"Copy Success");
        }
        else
        {
            NSLog(@"Copy Fail");
        }
    }
    else
    {
        NSLog(@"文件已存在");
    }
}

/**
 *    @brief    把Resource文件夹下的area.db拷贝到沙盒
 *
 *    @param     sourcePath     Resource文件路径
 *    @param     toPath     把文件拷贝到XXX文件夹
 *
 *    @return    BOOL
 */
- (BOOL)copyMissingFile:(NSString *)sourcePath toPath:(NSString *)toPath
{
    BOOL retVal = YES; // If the file already exists, we'll return success…
    NSString * finalLocation = [toPath stringByAppendingPathComponent:[sourcePath lastPathComponent]];
    if (![[NSFileManager defaultManager] fileExistsAtPath:finalLocation])
    {
        retVal = [[NSFileManager defaultManager] copyItemAtPath:sourcePath toPath:finalLocation error:NULL];
    }
    return retVal;
}

 

转载于:https://www.cnblogs.com/joesen/p/3683336.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值