ios 常见文件操作

485 阅读1分钟

ios 文件操作

  • 头文件 FileUtils.h

#import <Foundation/Foundation.h>
@interface FileUtils : NSObject

//返回缓存根目录 "caches"
+(NSString )getCachesDirectory;

//返回根目录路径 "document"
+ (NSString )getDocumentPath;

//创建文件夹
+(BOOL)creatDir:(NSString
)dirPath;

//删除文件夹
+(BOOL)deleteDir:(NSString
)dirPath;

//移动文件夹
+(BOOL)moveDir:(NSString*)srcPath to:(NSString*)desPath;

//创建文件
+ (BOOL)creatFile:(NSString*)filePath withData:(NSData*)data;

//读取文件
+(NSData*)readFile:(NSString )filePath;

//删除文件
+(BOOL)deleteFile:(NSString )filePath;

//返回 文件全路径
+ (NSString
)getFilePath:(NSString
) fileName;

//在对应文件保存数据
+ (BOOL)writeDataToFile:(NSString*)fileName data:(NSData*)data;

//从对应的文件读取数据
+ (NSData*)readDataFromFile:(NSString*)fileName;

@end


  • FileUtils.m

#import "FileUtils.h"

@implementation FileUtils

//返回缓存根目录 "caches"
+(NSString *)getCachesDirectory
{
NSArray paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString caches = [paths firstObject];
return caches;
}

//返回根目录路径 "document"
+ (NSString )getDocumentPath
{
NSArray paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString documentPath = [paths firstObject];
return documentPath;
}

//创建文件目录
+(BOOL)creatDir:(NSString
)dirPath
{
if ([[NSFileManager defaultManager] fileExistsAtPath:dirPath]){//判断dirPath路径文件夹是否已存在,此处dirPath为需要新建的文件夹的绝对路径
return NO;
} else {
[[NSFileManager defaultManager] createDirectoryAtPath:dirPath withIntermediateDirectories:YES attributes:nil error:nil];//创建文件夹
return YES;
}
}

//删除文件目录
+(BOOL)deleteDir:(NSString
)dirPath
{
if([[NSFileManager defaultManager] fileExistsAtPath:dirPath]) {//如果存在临时文件的配置文件
NSError error=nil;
return [[NSFileManager defaultManager] removeItemAtPath:dirPath error:&error];
}
return NO;
}

//移动文件夹
+(BOOL)moveDir:(NSString
)srcPath to:(NSString
)desPath;
{
NSError error=nil; if([[NSFileManager defaultManager] moveItemAtPath:srcPath toPath:desPath error:&error]!=YES){// prePath 为原路径、 cenPath 为目标路径
// NSLog(@"移动文件失败");
return NO;
} else {
// NSLog(@"移动文件成功");
return YES;
}
}

//创建文件
+ (BOOL)creatFile:(NSString
)filePath withData:(NSData
)data
{
return [[NSFileManager defaultManager] createFileAtPath:filePath contents:data attributes:nil];
}

//读取文件
+(NSData
)readFile:(NSString *)filePath
{
return [NSData dataWithContentsOfFile:filePath options:0 error:NULL];
}

//删除文件
+(BOOL)deleteFile:(NSString *)filePath
{
return [self deleteDir:filePath];
}

+ (NSString )getFilePath:(NSString )fileName
{
NSString dirPath = [[self getDocumentPath] stringByAppendingPathComponent:fileName];
return dirPath;
}

+ (BOOL)writeDataToFile:(NSString
)fileName data:(NSData
)data
{
NSString filePath=[self getFilePath:fileName];
return [self creatFile:filePath withData:data];
}

+ (NSData
)readDataFromFile:(NSString
)fileName
{
NSString *filePath=[self getFilePath:fileName];
return [self readFile:filePath];
}

@end