• 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];
        }
    }
  • 相关阅读:
    Attributes.Add用途与用法
    Reapter控件中更换Td背景色
    SQL SERVER查询时间条件式写法
    C# Cache何时使用及使用方法
    C#中Cache用法
    用sql语句将两个时间相减,得到时间距的DateDiff()函数
    HTML5 带进度条的异步文件上传原理
    Node环境Grunt开发流
    HTML5的Web SQL Databases(html5 本地数据库)API
    移动端范围拖动选择效果
  • 原文地址:https://www.cnblogs.com/joesen/p/3356977.html
Copyright © 2020-2023  润新知