@implementation FileOperate
// 获取沙盒主目录路径
+ (NSString *)getFileRootPathAtObjects{
NSString *homeDir =NSHomeDirectory();
if (homeDir && ![homeDirisEqualToString:@""]) {
return homeDir;
}
returnnil;
}
// 获取Documents目录路径
+ (NSString *)getFileDomcumentFolderPathAtObject{
NSArray *paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *documentsDirectory = [pathsobjectAtIndex:0];
if (documentsDirectory) {
return documentsDirectory;
}
returnnil;
}
// 获取Documents目录路径文件夹
+ (NSArray *)getFileDomcumentFolderAtObjects{
NSFileManager *fileMgr = [NSFileManagerdefaultManager];
NSArray *paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *documentsDirectory = [pathsobjectAtIndex:0];
NSError *error =nil;
NSArray *fileList = [fileMgrcontentsOfDirectoryAtPath:documentsDirectoryerror:&error] ;
BOOL isDir =NO;
NSMutableArray *dirArray = [[NSMutableArrayalloc] init];
for (NSString *filein fileList) {
NSString *path = [documentsDirectorystringByAppendingPathComponent:file];
isDir =[fileMgrfileExistsAtPath:path isDirectory:(&isDir)]; // 判断是文件还是文件夹,文件夹返回yes
if (isDir) {
[dirArrayaddObject:file];
}
}
return [dirArrayautorelease];
}
// 获取Documents目录路径下所有文件
+ (NSString *) getFileDomcumentAtObjects{
NSString *documentsDirectory = [NSHomeDirectory()stringByAppendingPathComponent:@"Documents"];
if (documentsDirectory && ![documentsDirectoryisEqualToString:@""]) {
return documentsDirectory;
}
returnnil;
}
//获取Documents目录下所有文件
+ (NSArray *) getFileDomcumentBooksAtObjects{
NSFileManager *fileMgr = [NSFileManagerdefaultManager];
NSArray *paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *documentsDirectory = [pathsobjectAtIndex:0];
NSError *error =nil;
NSArray *fileList = [fileMgrcontentsOfDirectoryAtPath:documentsDirectoryerror:&error];
if (fileList && [fileListcount] >0) {
return fileList;
}
returnnil;
}
// 获取Documents目录路径下指定文件
+ (NSArray *) getFileDomcumentInNameAtObjects:(NSString *)fileName{
NSArray *paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *documentsDirectory = [pathsobjectAtIndex:0];
NSArray *tempArray = [[NSFileManagerdefaultManager] contentsOfDirectoryAtPath:[documentsDirectorystringByAppendingPathComponent:fileName]error:NULL];
if (tempArray) {
return tempArray;
}
returnnil;
}
// 获取Caches目录路径
+ (NSArray *)getFileCachesPathAtObjects
{
NSArray *paths =NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask, YES);
if (paths) {
return paths;
}
returnnil;
}
//根据文件名称删除Caches路径下的文件
+ (void)deleteFileAtCaches:(NSString *)fileName
{
NSArray *paths =NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES);
NSString *cachesDirectory = [pathsobjectAtIndex:0];
NSString *cachesFolderPath = [cachesDirectorystringByAppendingPathComponent:fileName];
NSError *error;
[[NSFileManagerdefaultManager] removeItemAtPath:cachesFolderPatherror:&error];
}
// 获取tmp目录路径
+ (NSString *)getFileTmpPathAtObjects{
NSString *tmpDir = NSTemporaryDirectory();
if (tmpDir && ![tmpDirisEqualToString:@""]) {
return tmpDir;
}
returnnil;
}
//获取项目DataSource文件指定文件路径
+ (NSString *)getFileResoucePathAtObjects:(NSString *)myFileName{
NSString *paths = [[NSBundlemainBundle] resourcePath];
NSString *bundlePath = [pathsstringByAppendingPathComponent:myFileName];
if (bundlePath && ![bundlePathisEqualToString:@""]) {
return bundlePath;
}
returnnil;
}
//在Document路径下创建文件夹
+ (BOOL)createFolderInDocumentObjects:(NSString *)fileName{
BOOL isSuccess;
if (fileName && ![fileNameisEqualToString:@""]) {
NSArray *paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *doc = [pathsobjectAtIndex:0];
NSString *userDirectory = [docstringByAppendingPathComponent:fileName];
NSFileManager *fileManager = [NSFileManagerdefaultManager];
if(![fileManagerfileExistsAtPath:userDirectory]){
isSuccess = [fileManagercreateDirectoryAtPath:userDirectorywithIntermediateDirectories:NOattributes:NULLerror:NULL];
return isSuccess;
}
}
returnNO;
}
//根据文件名称删除Document路径下的文件
+ (void)deleteFileAtDocument:(NSString *)fileName
{
NSArray *paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *documentsDirectory = [pathsobjectAtIndex:0];
NSString *documentLibraryFolderPath = [documentsDirectorystringByAppendingPathComponent:fileName];
NSError *error;
[[NSFileManagerdefaultManager] removeItemAtPath:documentLibraryFolderPatherror:&error];
}
//删除指定文件
+ (BOOL) deleteFile:(NSString *)path
{
if (path ==nil) {
returnNO;
}
NSError *error =nil;
NSFileManager *fileManager = [[NSFileManageralloc] init];
if (fileManager !=nil) {
BOOL result = [fileManagerremoveItemAtPath:path error:&error];
[fileManager release];
if (result !=YES) {
returnNO;
}
returnYES;
}
returnNO;
}
//获取Library根路径
+ (NSString *)getLibraryPathAtObjects{
NSArray *paths =NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask, YES);
NSString *libPath = [pathsobjectAtIndex:0];
if (libPath && ![libPathisEqualToString:@""]) {
return libPath;
}
returnnil;
}
///判断文件是否存在
+ (BOOL) isHashFilePath:(NSString *)filePath{
BOOL isExist =NO;
NSFileManager *fileManager = [NSFileManagerdefaultManager];
isExist = [fileManagerfileExistsAtPath:filePath];
if (isExist) {
returnYES;
}
returnNO;
}
//在指定路径下创建文件夹
+ (BOOL)createFolderInLibraryObjects:(NSString *)path{
BOOL isSuccess;
if (path && ![pathisEqualToString:@""]) {
NSFileManager *fileManager = [NSFileManagerdefaultManager];
if([fileManagerfileExistsAtPath:path]){
returnNO;
}else{
isSuccess = [fileManagercreateDirectoryAtPath:path withIntermediateDirectories:NOattributes:NULLerror:NULL];
return isSuccess;
}
}
returnNO;
}
//在Library路径下copy指定文件
+ (BOOL)copyFileAtAssignPathInLibrary:(NSString *)fileName oldPath:(NSString *)oldPath newPath:(NSString *)newPath
{
NSError *error =nil;
BOOL isSuccess = [[NSFileManagerdefaultManager] copyItemAtPath:oldPathtoPath:newPath error:&error];
return isSuccess;
}
//根据文件名称删除Library路径下的文件
+ (void)deleteFileAtLibrary:(NSString *)fileName
{
NSArray *paths =NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSLocalDomainMask,YES);
NSString *documentsDirectory = [pathsobjectAtIndex:0];
NSString *documentLibraryFolderPath = [documentsDirectorystringByAppendingPathComponent:fileName];
NSError *error;
[[NSFileManagerdefaultManager] removeItemAtPath:documentLibraryFolderPatherror:&error];
}
///判断文件夹是否存在
+(BOOL)isTheDirIsExist:(NSString *)path
{
BOOL isdic =YES;
NSFileManager *fileManager = [NSFileManagerdefaultManager];
BOOL isDirExist = [fileManagerfileExistsAtPath: path isDirectory: &isdic];
return isDirExist;
}
//获取指定目录下所有文件
+(NSArray *)getTheDirAllFile:(NSString *)path
{
NSError *error =nil;
NSFileManager *fileMgr = [NSFileManagerdefaultManager];
NSArray *fileList = [fileMgrcontentsOfDirectoryAtPath:path error:&error] ;
BOOL isDir =NO;
NSMutableArray *dirArray = [[NSMutableArrayalloc] init];
for (NSString *filein fileList) {
isDir =[fileMgrfileExistsAtPath:file isDirectory:(&isDir)]; // 判断是文件还是文件夹,文件夹返回yes
if (!isDir) {
[dirArrayaddObject:file];
}
}
return [dirArrayautorelease];
}
@end
ios 常用的处理沙盒文件方法
最新推荐文章于 2020-12-24 21:55:29 发布