Objective-C简单封装 字符串的存储操作,省去中间沙盒处理方式
/存储publickey和sessionID -- writeContent: nil - 仅取出数据, 其他 - 修改原内容并提取
+(NSString *)storeFile:(NSString *)fileName content:(NSString *)writeContent
{
NSString *pathDocuments=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *createPath=[NSString stringWithFormat:@"%@/%@",pathDocuments,fileName];//用文件名补全路径
NSError *ReadFileError;
NSString *readContent ;
NSData *data ;
if ([[NSFileManager defaultManager] fileExistsAtPath:createPath])//判断文件是否已存在
{
if (nil == writeContent) {
readContent = [NSString stringWithContentsOfFile:createPath encoding:NSUTF8StringEncoding error:&ReadFileError;];
}else{
data = [writeContent dataUsingEncoding:NSUTF8StringEncoding];//新文件的初始数据
[[NSFileManager defaultManager] createFileAtPath:createPath contents:data attributes:nil];//创建文件
readContent = [NSString stringWithContentsOfFile:createPath encoding:NSUTF8StringEncoding error:&ReadFileError;];
}
}
else
{
if (nil == writeContent) {
return nil;
}else{
data = [writeContent dataUsingEncoding:NSUTF8StringEncoding];//新文件的初始数据
[[NSFileManager defaultManager] createFileAtPath:createPath contents:data attributes:nil];//创建文件
readContent = [NSString stringWithContentsOfFile:createPath encoding:NSUTF8StringEncoding error:&ReadFileError;];
}
}
return readContent;
}
+ ( NSArray * )storeArryFile:(NSString *)fileName content:( NSArray *)writeArry
{
//步骤
//存 :将 数组放入 字典
//取: 从字典取出数组
if ( writeArry == nil)//读取文件
{
NSString *storeStr = [FNProRequest storeFile:fileName content:nil];
NSDictionary *dic = (NSDictionary *)[storeStr JSONValue];
NSLog(@"%@", dic);
return (NSArray *)[dic objectForKey:fileName];
}
else
{
NSArray *objectsArry = [[NSArray alloc]initWithObjects:writeArry,nil ];
NSArray *keysArry = [[NSArray alloc]initWithObjects:fileName,nil ];
NSDictionary *dic = [[NSDictionary alloc]initWithObjects:objectsArry forKeys:keysArry];
NSString *storeStr = [dic JSONRepresentation];
[self storeFile:fileName content:storeStr];
[objectsArry release];
[keysArry release];
[dic release];
}
return nil;
}