iOS 对文件重命名、沙盒文件重命名

项目中遇到需要对文件重命名,封装一个小方法,下次方便调用,只需传入要修改的文件路径,就会返回一个重命名后的文件名,重命名的名称是新文件名为当前的:年月日时分秒 yyyyMMddHHmmss,希望可以帮到你,用到的话,就commond+c commond+v

/**
 对文件重命名

 @param filePath 旧路径
 @return 新路径
 */
- (NSString *)p_setupFileRename:(NSString *)filePath {
    
    NSString *lastPathComponent = [NSString new];
    //获取文件名: 视频.MP4
    lastPathComponent = [filePath lastPathComponent];
    //获取后缀:MP4
    NSString *pathExtension = [filePath pathExtension];
    //用传过来的路径创建新路径 首先去除文件名
    NSString *pathNew = [filePath stringByReplacingOccurrencesOfString:lastPathComponent withString:@""];
    //然后拼接新文件名:新文件名为当前的:年月日时分秒 yyyyMMddHHmmss
    NSString *moveToPath = [NSString stringWithFormat:@"%@%@.%@",pathNew,[self htmi_getCurrentTime],pathExtension];
    NSFileManager *fileManager = [NSFileManager defaultManager];
    //通过移动该文件对文件重命名
    BOOL isSuccess = [fileManager moveItemAtPath:filePath toPath:moveToPath error:nil];
    if (isSuccess) {
        NSLog(@"rename success");
    }else{
        NSLog(@"rename fail");
    }
    
    return moveToPath;
}

/**
 获取当地时间
 
 @return 获取当地时间
 */
- (NSString *)htmi_getCurrentTime {
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"yyyyMMddHHmmss"];
    NSString *dateTime = [formatter stringFromDate:[NSDate date]];
    return dateTime;
}

因小伙伴私信问我demo,我就创建了一个、需要的key下载一下
源码地址:点我下载

你可能感兴趣的:(iOS 对文件重命名、沙盒文件重命名)