* 获取沙盒中某种文件的路径和名字,存入字典返回
*
* @param type 文件类型
* @param dirPath 文件目录
*
* @return
*/
-(NSMutableArray *)getFilenamelistOfType:(NSString *)type fromDirPath:(NSString *)dirPath
{
NSMutableArray *filenamelist = [NSMutableArray arrayWithCapacity:10];
NSArray *tmplist = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:dirPath error:nil];
NSMutableDictionary * fileDic = [NSMutableDictionary dictionary];
for (NSString *filename in tmplist) {
NSString *fullpath = [dirPath stringByAppendingPathComponent:filename];
if ([self isFileExistAtPath:fullpath]) {
if ([[filename pathExtension] isEqualToString:type]) {
fileDic[@"fileName"] = filename;
fileDic[@"filePath"] = fullpath;
[filenamelist addObject:fileDic];
}
}
}
return filenamelist;
}
/**
* 判断文件路径是否存在
*
* @param fileFullPath 文件路径
*
* @return
*/
-(BOOL)isFileExistAtPath:(NSString*)fileFullPath {
BOOL isExist = NO;
isExist = [[NSFileManager defaultManager] fileExistsAtPath:fileFullPath];
return isExist;
}
/**
* 浅度遍历:根据目录路径获取该目录下所有文件夹
*
* @param directory 指定目录路径
*/
-(NSArray*)getAllFolderWithTheSpecifiedDirectory:(NSString*)directory{
NSError *nserr = nil;
NSFileManager * nsfm = [NSFileManager defaultManager];
NSArray *fileArr = [nsfm contentsOfDirectoryAtPath:directory error:&nserr];
//如果查看失败,(如:目录不存在),该方法会创建一个NSError对象,让传入的指针指向这个对象。
//如果成功,创建一个数组,装文件和子目录名称,返回数组地址
if(nserr){
DDLogError(@"打开目录出错");
return nil;
}
return fileArr;
}
/**
* 深度遍历:根据目录路径获取该目录下所有文件夹和文件
*
* @param directory 指定目录路径
*
* @return
*/
-(NSArray*)getAllFolderAndFileWithTheSpecifiedDirectory:(NSString*)directory{
NSError *nserr = nil;
NSFileManager * nsfm = [NSFileManager defaultManager];
NSArray * fileArr = [nsfm subpathsOfDirectoryAtPath:directory error:&nserr];
if(nserr){
DDLogError(@"打开目录出错");
return nil;
}
else{
return fileArr;
}
}