IOS How to get file size and split file


+ (NSUInteger) getFileSize:(NSString*) file {
    NSFileManager* fm = [NSFileManager defaultManager];
    NSDictionary* attrs = [fm attributesOfItemAtPath:file error:nil];
    NSUInteger size;
    if (attrs != nil) {
        size = [attrs fileSize];
    }
    else {
        size = 0;
    }
   
    return size;
}

/* splitFile */
+ (NSUInteger)splitFile:(NSString *)filename chunkSize:(NSUInteger)chunkSize {
    NSUInteger chunksWritten;
   
    NSFileManager *fm = [[[NSFileManager alloc] init] autorelease];
    NSData *fileData = [NSData dataWithContentsOfFile:filename];
    NSString *newFileName;
    NSRange dataRange;
    for (chunksWritten = 0; chunksWritten * chunkSize < [fileData length]; chunksWritten++) {
        newFileName = [filename stringByAppendingPathExtension:[NSString stringWithFormat:@"%03d", chunksWritten]];
        dataRange = NSMakeRange(chunksWritten * chunkSize, MIN(chunkSize, [fileData length] - chunksWritten * chunkSize));
        if (![fm createFileAtPath:newFileName contents:[fileData subdataWithRange:dataRange] attributes:nil]) {
            UtiLog(@"Error writing chunk #%d", chunksWritten);
            break;
        }
    }
    return chunksWritten;
}

Comments

Popular posts from this blog

Java : Variables Declaring

Install DNF in RHEL/CentOS 7

SQL Self JOIN