ios开发中数据追加写入沙盒路径而不是覆盖之前的数据
2017-03-19 01:36
459 查看
这篇文章为您讲述数据追加写入沙盒路径,而不是覆盖之前的数据的相关内容,具体内容请看下面
临近春节了,这段时间比较忙,各种赶项目,没啥时间写博客。
/**
* @brief 追加写入数据到沙盒路径
*
* @param string 要写入的字符串
* @param fileName 把数据写入文件的文件名
*/
+(void)writefile:(NSString *)string fileName:(NSString *)fileName
{
NSLog(@"fileName==%@",fileName);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *homePath = [paths objectAtIndex:0];
NSString *filePath = [homePath stringByAppendingPathComponent:fileName];
NSFileManager *fileManager = [NSFileManagerdefaultManager];
if(![fileManager fileExistsAtPath:filePath]) //如果不存在
{
NSLog(@"-------文件不存在,写入文件----------");
NSError *error;
if([string writeToFile:filePath atomically:YESencoding:NSUTF8StringEncodingerror:&error])
{
NSLog(@"------写入文件------success");
}
else
{
NSLog(@"------写入文件------fail,error==%@",error);
}
}
else//追加写入文件,而不是覆盖原来的文件
{
NSLog(@"-------文件存在,追加文件----------");
NSFileHandle *fileHandle = [NSFileHandle fileHandleForUpdatingAtPath:filePath];
[fileHandle seekToEndOfFile]; //将节点跳到文件的末尾
NSData* stringData = [string dataUsingEncoding:NSUTF8StringEncoding];
[fileHandle writeData:stringData]; //追加写入数据
[fileHandle closeFile];
}
}
临近春节了,这段时间比较忙,各种赶项目,没啥时间写博客。
/**
* @brief 追加写入数据到沙盒路径
*
* @param string 要写入的字符串
* @param fileName 把数据写入文件的文件名
*/
+(void)writefile:(NSString *)string fileName:(NSString *)fileName
{
NSLog(@"fileName==%@",fileName);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *homePath = [paths objectAtIndex:0];
NSString *filePath = [homePath stringByAppendingPathComponent:fileName];
NSFileManager *fileManager = [NSFileManagerdefaultManager];
if(![fileManager fileExistsAtPath:filePath]) //如果不存在
{
NSLog(@"-------文件不存在,写入文件----------");
NSError *error;
if([string writeToFile:filePath atomically:YESencoding:NSUTF8StringEncodingerror:&error])
{
NSLog(@"------写入文件------success");
}
else
{
NSLog(@"------写入文件------fail,error==%@",error);
}
}
else//追加写入文件,而不是覆盖原来的文件
{
NSLog(@"-------文件存在,追加文件----------");
NSFileHandle *fileHandle = [NSFileHandle fileHandleForUpdatingAtPath:filePath];
[fileHandle seekToEndOfFile]; //将节点跳到文件的末尾
NSData* stringData = [string dataUsingEncoding:NSUTF8StringEncoding];
[fileHandle writeData:stringData]; //追加写入数据
[fileHandle closeFile];
}
}
相关文章推荐
- 数据追加写入沙盒路径,而不是覆盖之前的数据
- ios开发之---将数据写入和读取与沙盒的具体理解和实现。
- ios-day12-01(ios开发中的数据存储的常用方式有哪些、应用沙盒目录结构、应用沙盒目录路径的常见获取方式)
- ios开发: 模拟器和真机在写入和读取沙盒数据时的区别
- iOS开发 清空沙盒路径下的缓存数据
- ios开发: 模拟器和真机在写入和读取沙盒数据时的区别
- [iOS]iOS写入文本时追加而不是覆盖
- 什么是沙盒模型?怎么写入、读取沙盒路径文件数据,哪些操作是属于私有api范畴
- 【iOS开发-3】sandbox沙盒介绍以及如何取得沙盒里面各文件的路径,图片导入方式和图片路径获取
- iOS中的 沙盒文件夹 (数据的写入和读取,归档和反归档)
- iOS开发 - 20.实用技术之快速拼接文件的沙盒路径
- IOS 开发获取沙盒路径
- iOS,沙盒,做数据持久化的时候,有时候需要查看沙盒路径
- iOS经典讲解之获取沙盒文件路径写入和读取简单对象
- iOS开发往字典里面添加数据会出现后面的数据覆盖前面的情况
- ios开发系列之文件的写入读取,NSUserDefaults存储数据,NSFileManager操作文件和文件夹
- IOS开发—数据存储(直接写入、NSUserDefaults、NSkeyedArchiver)
- iOS 沙盒中文档路径相关问题答不是记者问 - 替人答的,摘录一下解答思路
- iOS开发之获取沙盒路径
- iOS开发之获取沙盒路径