/**
* 获取本地视频缓存目录路径
*/
+ (NSString *) videoCacheDir {
return [[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@”/default//com.sportq.fit.AFNetworkingCache/”];
}
/**
* 获取本地图片缓存目录路径
*/
+ (NSString *) imageCacheDir {
return [[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingString:@”/default//com.sportq.fit.SDWebImageCache/”];
}
/**
* 获取本地数据批量缓存目录路径
*/
+ (NSString *) dataCacheBatchDir {
return [[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingString:@”/default/dataCacheBatch.plist”];
}
/**
* 获取本地数据单个缓存目录路径
*/
+ (NSString *) dataCacheDir {
return [[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingString:@”/default/dataCache.plist”];
}
/**
* 获取本地视频缓存目录URL
*/
+ (NSURL *) videoCacheURL {
return [NSURL URLWithString:[NSString stringWithFormat:@”%@/default//com.sportq.fit.AFNetworkingCache/”,[[NSFileManager defaultManager] URLForDirectory:NSCachesDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:NO error:nil]]];
}
/**
* 获取本地图片缓存目录URL
*/
+ (NSURL *) imageCacheURL {
return [NSURL URLWithString:[NSString stringWithFormat:@”%@/default//com.sportq.fit.SDWebImageCache/”,[[NSFileManager defaultManager] URLForDirectory:NSCachesDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:NO error:nil]]];
}
/**
* check本地是否存在指定文件(会根据文件后缀名自动判定到哪个目录寻找文件)
*
* @param fileName 文件名或文件url
*
* @return Y:存在;N:不存在
*/
+ (BOOL) fileExist:(NSString *)fileName {
if ([NSString isEmpty:fileName]) {
return NO;
}
// 获取文件名称
fileName = [[[fileName componentsSeparatedByString:@”/”] lastObject] componentsSeparatedByString:@”?”][0];
// 获取文件后缀名
NSString *extension = [[fileName componentsSeparatedByString:@”.”] lastObject];
NSString *dir = [CacheManager videoCacheDir];
if ([@”jpg” isEqualToString:extension]) {
dir = [CacheManager imageCacheDir];
}
// check 文件在指定目录是否存在
return [[NSFileManager defaultManager] fileExistsAtPath:[NSString stringWithFormat:@"%@/%@",dir,fileName]];
}
/**
* 根据链接读取本地文件
*
* @param fileName
*
* @return 存在则返回本地URL,本地不存在返回nil
*/
+ (NSURL )readFileUrl:(NSString )fileName {
// 获取文件名称
fileName = [[[fileName componentsSeparatedByString:@”/”] lastObject] componentsSeparatedByString:@”?”][0];
// 获取文件后缀名
NSString *extension = [[fileName componentsSeparatedByString:@”.”] lastObject];
NSString *dir = [CacheManager videoCacheDir];
if ([@"jpg" isEqualToString:extension]) {
dir = [CacheManager imageCacheDir];
}
NSString *filePath = [NSString stringWithFormat:@"%@/%@",dir,fileName];
if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) {
return [NSURL fileURLWithPath:filePath];
} else {
return nil;
}
}
/**
* 根据链接读取本地文件地址
*
* @param fileName
*
* @return 存在则返回本地URL,本地不存在返回网络URL
*/
+ (NSURL )readFileUrlOrWebUrl:(NSString )fileName {
NSURL *localUrl = [self readFileUrl:fileName];
if (localUrl) {
return localUrl;
} else {
return [fileName toUrl:image_big];
}
}
/**
* 根据链接删除本地文件
*
* @param fileName
*
* @return Y:删除成功,N:删除失败
*/
+ (BOOL)deleteFileWithUrl:(NSURL *)fileURL {
NSFileManager* fm = [NSFileManager defaultManager];
__block NSError* error = nil;
return [fm removeItemAtURL:fileURL error:&error];
}
/**
* check本地是否存在文件集合(会根据文件后缀名自动判定到哪个目录寻找文件)
*
* @param fileUrlList 文件名或文件url
*
* @return Y:所有文件都存在;N:任意一个文件不存在
*/
+ (BOOL) fileListExist:(NSMutableArray