IOS线程数据篇13之数据存储,文件内容追加
2015-02-25 10:36
429 查看
这个知识点主要来实现这样一个需求:
点击一次button,实现将所有的内容依次追加到文件中。
(1)button响应方法
为了设置文件存储的后缀名,这里调用获取时间方法:
NSDate * senddate=[NSDate
date];
NSDateFormatter *dateformatter=[[NSDateFormatter
alloc]
init];
[dateformatter
setDateFormat:@"YYYYMMddhhmmss"];
NSString * locationString=[dateformatter
stringFromDate:senddate];
FWNSLogInfo *mFWNSLogInfo = [FWNSLogInfo
sharedContextWithMode:locationString];
这里调用了一个单例类:
+ (FWNSLogInfo *)sharedContextWithMode:(NSString *)filename
{
static FWNSLogInfo *mFWNSLogInfo =
nil;
static dispatch_once_t predicate;
dispatch_once(&predicate, ^{
mFWNSLogInfo = [[FWNSLogInfo
alloc] init];
});
if (filename != nil) {
mFWNSLogInfo.writeFilePath = filename;
}
return mFWNSLogInfo;
}
这个单例类中,我们将当前时间的文件名称传递过去。
(2)文件内容追加并存储
+(void) appStringOther:(NSString *) s
{
FWNSLogInfo *mFWNSLogInfo = [FWNSLogInfo
sharedContextWithMode:nil];
NSString *home =NSHomeDirectory();
NSString *docPath = [home
stringByAppendingPathComponent:@"Documents"];
NSString *filepath = [docPath
stringByAppendingPathComponent:[NSString
stringWithFormat:@"%@MAALog",mFWNSLogInfo.writeFilePath]];
NSFileHandle *inFile;
inFile = [NSFileHandle
fileHandleForReadingAtPath:filepath];
BOOL isExit = NO;
if (inFile == nil) {
isExit =
NO;
}else
isExit =
YES;
if (!isExit) {
NSLog(@"%@",@"文件不存在");
NSString *s = [NSString
stringWithFormat:@"开始了:\r"];
[s writeToFile:filepath
atomically:YES
encoding:NSUTF8StringEncoding
error:nil];
}
NSFileHandle *outFile;
NSData *buffer;
outFile = [NSFileHandle
fileHandleForWritingAtPath:filepath];
if(outFile == nil)
{
NSLog(@"Open of file for writing failed");
}
[outFile
seekToEndOfFile];
NSString *bs = [NSString
stringWithFormat:@"%@",s];
buffer = [bs dataUsingEncoding:NSUTF8StringEncoding];
[outFile
writeData:buffer];
[outFile
closeFile];
}
点击一次button,实现将所有的内容依次追加到文件中。
(1)button响应方法
为了设置文件存储的后缀名,这里调用获取时间方法:
NSDate * senddate=[NSDate
date];
NSDateFormatter *dateformatter=[[NSDateFormatter
alloc]
init];
[dateformatter
setDateFormat:@"YYYYMMddhhmmss"];
NSString * locationString=[dateformatter
stringFromDate:senddate];
FWNSLogInfo *mFWNSLogInfo = [FWNSLogInfo
sharedContextWithMode:locationString];
这里调用了一个单例类:
+ (FWNSLogInfo *)sharedContextWithMode:(NSString *)filename
{
static FWNSLogInfo *mFWNSLogInfo =
nil;
static dispatch_once_t predicate;
dispatch_once(&predicate, ^{
mFWNSLogInfo = [[FWNSLogInfo
alloc] init];
});
if (filename != nil) {
mFWNSLogInfo.writeFilePath = filename;
}
return mFWNSLogInfo;
}
这个单例类中,我们将当前时间的文件名称传递过去。
(2)文件内容追加并存储
+(void) appStringOther:(NSString *) s
{
FWNSLogInfo *mFWNSLogInfo = [FWNSLogInfo
sharedContextWithMode:nil];
NSString *home =NSHomeDirectory();
NSString *docPath = [home
stringByAppendingPathComponent:@"Documents"];
NSString *filepath = [docPath
stringByAppendingPathComponent:[NSString
stringWithFormat:@"%@MAALog",mFWNSLogInfo.writeFilePath]];
NSFileHandle *inFile;
inFile = [NSFileHandle
fileHandleForReadingAtPath:filepath];
BOOL isExit = NO;
if (inFile == nil) {
isExit =
NO;
}else
isExit =
YES;
if (!isExit) {
NSLog(@"%@",@"文件不存在");
NSString *s = [NSString
stringWithFormat:@"开始了:\r"];
[s writeToFile:filepath
atomically:YES
encoding:NSUTF8StringEncoding
error:nil];
}
NSFileHandle *outFile;
NSData *buffer;
outFile = [NSFileHandle
fileHandleForWritingAtPath:filepath];
if(outFile == nil)
{
NSLog(@"Open of file for writing failed");
}
[outFile
seekToEndOfFile];
NSString *bs = [NSString
stringWithFormat:@"%@",s];
buffer = [bs dataUsingEncoding:NSUTF8StringEncoding];
[outFile
writeData:buffer];
[outFile
closeFile];
}
相关文章推荐
- xutils中返回的数据在回调方法onSuccess中写了文件存储,但是在主线程调用的时候拿不到文件内容
- IOS 获得项目中info.plist文件的内容 2.沙盒的数据存储及读取 3.控制器view的高度和状态栏statusBar
- IOS数据的存储和读取之文件操作
- cocos2d数据的文件存储并追加到文件末尾
- java中FileOutputStream流,向文件中追加内容,而不是覆盖掉文件中原有的数据
- swift 快速奔跑的兔几 本节的内容是:使用文件系统存储数据
- android数据存储读取2:文件存储(对比IOS)
- Android游戏开发13:SQLite存储数据及保存SQLite数据库文件到SD卡
- 13—(保存游戏数据 [下文])详解SQLite存储方式,并把SQLite的数据库文件存储在SD卡中
- iOS 数据存储 plist文件存储
- 【iOS数据存储】iOS文件系统介绍
- 使用文件进行数据存储及读取文件内容
- ios后台处理数据存储线程的代码
- iOS iPhone 开发中的文件读写及数据存储
- 数据库操作_连接SQL Server数据库示例;连接ACCESS数据库;连接到 Oracle 数据库示例;SqlCommand 执行SQL命令示例;SqlDataReader 读取数据示例;使用DataAdapter填充数据到DataSet;使用DataTable存储数据库表;将数据库数据填充到 XML 文件;10 使用带输入参数的存储过程;11 使用带输入、输出参数的存储过程示;12 获得数据库中表的数目和名称;13 保存图片到SQL Server数据库示例;14 获得插入记录标识号;Exce
- 循环追加表空间的数据文件的存储过程
- [转]iOS iPhone 开发中的文件读写及数据存储
- 01- - -1.获得项目中info.plist文件的内容 2.沙盒的数据存储及读取 3.控制器view的高度和状态栏statusBar的关系 4.[UIScreen mainScreen].applicationFrame的取值 5.按钮的状态 6.错误调试技巧 7.按钮的各种状态设置
- iOS开发:数据存储之plist文件操作
- IOS文件系统和数据的永久性存储