[iOS]iOS写入文本时追加而不是覆盖
2015-10-09 15:54
507 查看
一、问题描述
将特定的字符串写入到沙盒中的文件中,追加而不是覆盖二、解决方案
- (void)writefile:(NSString *)string { NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES); NSString *homePath = [paths objectAtIndex:0]; NSString *filePath = [homePath stringByAppendingPathComponent:@"testfile.text"]; NSFileManager *fileManager = [NSFileManager defaultManager]; if(![fileManager fileExistsAtPath:filePath]) //如果不存在 { NSString *str = @"姓 名/手 机 号/邮 件"; [str writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:nil]; } NSFileHandle *fileHandle = [NSFileHandle fileHandleForUpdatingAtPath:filePath]; [fileHandle seekToEndOfFile]; //将节点跳到文件的末尾 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; NSString *datestr = [dateFormatter stringFromDate:[NSDate date]]; NSString *str = [NSString stringWithFormat:@"\n%@\n%@",datestr,string]; NSData* stringData = [str dataUsingEncoding:NSUTF8StringEncoding]; [fileHandle writeData:stringData]; //追加写入数据 [fileHandle closeFile]; }
三、示例
四、总结
读取文件类和常用方法NSFileHandle类主要对文件内容进行读取和写入操作
NSFileManager类主要对文件的操作(删除、修改、移动、复制等等)
常用处理方法
+ (id)fileHandleForReadingAtPath:(NSString *)path //打开一个文件准备读取 + (id)fileHandleForWritingAtPath:(NSString *)path //打开一个文件准备写入 + (id)fileHandleForUpdatingAtPath:(NSString *)path //打开一个文件准备更新 - (NSData *)availableData; //从设备或通道返回可用的数据 - (NSData *)readDataToEndOfFile; //从当前的节点读取到文件的末尾 - (NSData *)readDataOfLength:(NSUInteger)length; //从当前节点开始读取指定的长度数据 - (void)writeData:(NSData *)data; //写入数据 - (unsigned long long)offsetInFile; //获取当前文件的偏移量 - (void)seekToFileOffset:(unsigned long long)offset; //跳到指定文件的偏移量 - (unsigned long long)seekToEndOfFile; //跳到文件末尾 - (void)truncateFileAtOffset:(unsigned long long)offset; //将文件的长度设为offset字节 - (void)closeFile; 关闭文件
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- js判断客户端是iOS还是Android等移动终端的方法
- IOS开发环境windows化攻略
- .net平台推送ios消息的实现方法
- 探讨Android与iOS,我们将何去何从?
- Android、iOS和Windows Phone中的推送技术详解
- IOS 改变键盘颜色代码
- 举例详解iOS开发过程中的沙盒机制与文件
- Android和IOS的浏览器中检测是否安装某个客户端的方法
- javascript实现阻止iOS APP中的链接打开Safari浏览器
- IOS开发第三方语音-微信语音
- iOS开发之路--微博OAuth授权_取得用户授权的accessToken
- 基于UIControl控件实现ios点赞功能
- iOS开发中实现邮件和短信发送的简单示例