iOS 创建目录,复制文件,文件是否存在

iOS文件管理与复制
本文介绍了一个iOS应用程序中关于文件管理的功能实现,包括检查并创建存放.mid和.mov文件的目录,以及从资源文件夹复制相应文件到Documents目录下指定位置的方法。
#define FileName @"unKnowName"

- (void)createFileDirectories {    // 判断存放mid、mov的文件夹是否存在,不存在则创建对应文件夹
    NSString *midPath = [[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"] stringByAppendingPathComponent:@"mid"];
    NSFileManager *fileManager = [NSFileManager defaultManager];
    BOOL isDir = FALSE;
    BOOL isDirExist = [fileManager fileExistsAtPath:midPath isDirectory:&isDir];
    if(!(isDirExist && isDir))    {
        BOOL bCreateDir = [fileManager createDirectoryAtPath:midPath withIntermediateDirectories:YES attributes:nil error:nil];
        if(!bCreateDir){
            NSLog(@"Create Mid Directory Failed.");
        }
        NSLog(@"%@",midPath);
    }
    NSString *movPath = [[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"] stringByAppendingPathComponent:@"mov"];
    isDir = FALSE;
    isDirExist = [fileManager fileExistsAtPath:movPath isDirectory:&isDir];
    if(!(isDirExist && isDir)){
        BOOL bCreateDir = [fileManager createDirectoryAtPath:movPath withIntermediateDirectories:YES attributes:nil error:nil];
        if(!bCreateDir){
            NSLog(@"Create Mov Directory Failed.");
        }
        NSLog(@"%@",movPath);
    }
}

- (void)copyItemToDocument {
    NSFileManager *fileManager = [NSFileManager defaultManager];
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    
    NSString *midPath = [[documentsDirectory stringByAppendingPathComponent:@"mid"] stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.mid", FileName]];
    
    NSString *resourcePath = [[NSBundle mainBundle] pathForResource:FileName ofType:@"mid"];
    if([fileManager fileExistsAtPath:midPath] == NO && midPath && resourcePath) {
        [fileManager copyItemAtPath:resourcePath toPath:midPath error:nil];
    }
    
    NSString *movPath = [[documentsDirectory stringByAppendingPathComponent:@"mov"] stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.mov", FileName]];
    
    resourcePath = [[NSBundle mainBundle] pathForResource:FileName ofType:@"mov"];
    if([fileManager fileExistsAtPath:movPath] == NO && movPath && resourcePath) {
        [fileManager copyItemAtPath:resourcePath toPath:movPath error:nil];
    }
}

- (BOOL)fileExistWithName:(NSString *)fileName {
    NSFileManager *fileManager = [NSFileManager defaultManager];
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];

    NSString *midPath = [[documentsDirectory stringByAppendingPathComponent:@"mid"] stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.mid", FileName]];

    NSString *movPath = [[documentsDirectory stringByAppendingPathComponent:@"mov"] stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.mov", FileName]];

    return [fileManager fileExistsAtPath:midPath] && [fileManager fileExistsAtPath:movPath];
}





转载于:https://my.oschina.net/lych0317/blog/184128

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值