zoukankan      html  css  js  c++  java
  • IOS 从Resource文件夹下Copy文件到沙盒

    - (void)viewDidLoad
    {
        [super viewDidLoad];
        // Do any additional setup after loading the view.
        self.title =  @"拷贝文件到Sandbox";
        
        //文件类型
        NSString * docPath = [[NSBundle mainBundle] pathForResource:@"save1" ofType:@"dat"];
        
        // 沙盒Documents目录
    //    NSString * appDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
        
        // 沙盒Library目录
        NSString * appDir = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) lastObject];
        //appLib  Library/Caches目录
        NSString *appLib = [appDir stringByAppendingString:@"/Caches"];
        
        BOOL filesPresent = [self copyMissingFile:docPath toPath:appLib];
        if (filesPresent) {
            NSLog(@"OK");
        }
        else
        {
            NSLog(@"NO");
        }
        
        // 创建文件夹
        NSString *createDir =  [NSHomeDirectory() stringByAppendingString:@"/test"];
        [self createFolder:createDir];
        
        // 把文件拷贝到Test目录
        BOOL filesPresent1 = [self copyMissingFile:docPath toPath:createDir];
        if (filesPresent1) {
            NSLog(@"OK");
        }
        else
        {
            NSLog(@"NO");
        }
    
    
    }
    
    /**
     *    @brief    把Resource文件夹下的save1.dat拷贝到沙盒
     *
     *    @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;
    }
    
    /**
     *    @brief    创建文件夹
     *
     *    @param     createDir     创建文件夹路径
     */
    - (void)createFolder:(NSString *)createDir
    {
        BOOL isDir = NO;
        NSFileManager *fileManager = [NSFileManager defaultManager];
        BOOL existed = [fileManager fileExistsAtPath:createDir isDirectory:&isDir];
        if ( !(isDir == YES && existed == YES) )
        {
            [fileManager createDirectoryAtPath:createDir withIntermediateDirectories:YES attributes:nil error:nil];
        }
    }
  • 相关阅读:
    Java程序员的成神之路
    es集群搭建(2个节点)
    MySQL主从复制与主主复制
    高并发量服务器架构
    AngularJS跨域问题
    CentOs7.3 搭建 RabbitMQ 3.6 单机服务与使用
    Dubbo的高可用
    Nginx配置性能优化
    从Socket谈到浏览器和服务器之间的关系
    关于数据库死锁
  • 原文地址:https://www.cnblogs.com/joesen/p/3356977.html
Copyright © 2011-2022 走看看