OC 判断文件类型

2020-06-08  本文已影响0人  微笑中的你

- (void)getFileType {
    [self getHtml];
    [self getPng];
}

- (void)getPng {
    NSString * type = [self getFileTypeWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"png"]];
    
    NSLog(type);
}

- (void)getHtml {
    NSString * type = [self getFileTypeWithPath:[[NSBundle mainBundle] pathForResource:@"jsTest" ofType:@"html"]];
    
    NSLog(type);
}

- (NSString *)getFileTypeWithPath:(NSString *)path {
    NSData * data = [NSData dataWithContentsOfFile:path];
    return [self getDataType:data];
}


- (NSString *)getDataType:(NSData *)data {

    if (data.length < 2) {
        return @"unknown File";
    }
    
    int char1 = 0, char2 = 0;
    [data getBytes:&char1 range:NSMakeRange(0, 1)];
    [data getBytes:&char2 range:NSMakeRange(1, 1)];
    NSString *numStr = [NSString stringWithFormat:@"%d%d",char1,char2];
    NSString * type = nil;
    if ([numStr isEqualToString:@"255216"]) {
        type = @"jpg";
    } else if ([numStr isEqualToString:@"7173"]) {
        type = @"gif";
    } else if ([numStr isEqualToString:@"6677"]) {
        type = @"bmp";
    } else if ([numStr isEqualToString:@"13780"]) {
        type = @"png";
    } else if ([numStr isEqualToString:@"6787"]) {
        type = @"swf";
    } else if ([numStr isEqualToString:@"7790"]) {
        type = @"exe dll";
    } else if ([numStr isEqualToString:@"8297"]) {
        type = @"rar";
    } else if ([numStr isEqualToString:@"8075"]) {
        type = @"zip";
    } else if ([numStr isEqualToString:@"55122"]) {
        type = @"7z";
    } else if ([numStr isEqualToString:@"6063"]) {
        type = @"xml";
    } else if ([numStr isEqualToString:@"6033"]) {
        type = @"html";
    } else if ([numStr isEqualToString:@"239187"]) {
        type = @"aspx";
    } else if ([numStr isEqualToString:@"117115"]) {
        type = @"cs";
    } else if ([numStr isEqualToString:@"119105"]) {
        type = @"js";
    } else if ([numStr isEqualToString:@"102100"]) {
        type = @"txt";
    } else if ([numStr isEqualToString:@"255254"]) {
        type = @"sql";
    }
    return type;
}

感谢来源:https://blog.csdn.net/cos_sin_tan/article/details/50956293

上一篇下一篇

猜你喜欢

热点阅读