YoungSeung-Seo
1/16/2018 - 6:48 AM

[iOS] 각종 파일관련 처리들

#pragma mark 파일 삭제
- (BOOL) deleteFile:(NSString*)filepath
{
    if (filepath == nil)
        return NO;
    NSFileManager *filemanager = [NSFileManager defaultManager];
    
    if ([filemanager fileExistsAtPath:filepath] == NO)
        return NO;
    
    NSURL *url = [NSURL fileURLWithPath:filepath];
    
    NSError *err;
    if ( [filemanager removeItemAtURL:url error:&err] == NO)
    {
        KLog(@"%@", err);
        return NO;
    }
    return YES;
}

#pragma mark 파일 정보
- (long long) getFileSize:(NSString*)filepath {
   
    if ([self fileExist:filepath] == NO)
        return 0;
    
    NSError *attributesError = nil;
    NSDictionary *fileAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:filepath error:&attributesError];

    NSNumber *fileSizeNumber = [fileAttributes objectForKey:NSFileSize];
    long long fileSize = [fileSizeNumber longLongValue];

    return fileSize;
}

#pragma mark - 파일 복사
-(BOOL) copyTofile:(NSString*)targetPath copyPath:(NSString*)copyPath
{
    NSFileManager *filemanager = [NSFileManager defaultManager];
    if ([filemanager fileExistsAtPath:targetPath] == NO)
        return NO;
    NSError *err;
    
    if([filemanager copyItemAtPath:targetPath toPath:copyPath error:&err] == NO)
    {
        KLog(@"copyTofile error: %@", err);
        return NO;
    }    
    return YES;
}

#pragma mark 파일 이동
-(BOOL) moveTofile:(NSString*)targetPath movePath:(NSString*)movePath
{
    NSFileManager *filemanager = [NSFileManager defaultManager];
    if ([filemanager fileExistsAtPath:targetPath] == NO)
        return NO;
    NSError *err;
    
    if ([filemanager moveItemAtPath:targetPath toPath:movePath error:&err] == NO)
    {
        KLog(@"moveTofile error: %@", err);
        return NO;
    }
    return YES;
}