iOS 對比兩個檔案內容是否相同 MD5摘要 與 直接比較
直接比較兩個檔案的內容
NSString *path = [[NSBundlemainBundle] bundlePath];
NSString *filePath1 = [path stringByAppendingPathComponent:@"3-g.txt"];
NSString *filePath2 = [path stringByAppendingPathComponent:@"4-g.txt"];
// NSString* pathfilePath1 = [[NSBundle mainBundle] pathForResource:@"3-g" ofType:@"txt"];
// -(BOOL)contentsEqualAtPath:path andPath:path2
MD5摘要比較
NSString *md5str1 = [self md5WithFilePath:filePath1];
NSString *md5str2 = [self md5WithFilePath:filePath2];
if ([md5str1 isEqualToString:md5str2])
- (NSString *)md5WithFilePath:(NSString *)path {
NSFileHandle *handle = [NSFileHandle
if( handle== nil ) {
returnnil;
}
CC_MD5_CTX md5;
CC_MD5_Init(&md5);
BOOL done = NO;
while(!done)
{
NSData* fileData = [handle readDataOfLength: 256 ];
CC_MD5_Update(&md5, [fileData bytes], (CC_LONG)[fileData length]);
if( [fileData length
}
unsignedchar digest[CC_MD5_DIGEST_LENGTH];
CC_MD5_Final(digest, &md5);
NSString* s = [NSStringstringWithFormat: @"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
digest[0], digest[1],
digest[2], digest[3],
digest[4], digest[5],
digest[6], digest[7],
digest[8], digest[9],
digest[10], digest[11],
digest[12], digest[13],
digest[14], digest[15]];
return s;
}