博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Object-C代码练习【文件管理练习(每秒写入一个时间到文件)】
阅读量:6294 次
发布时间:2019-06-22

本文共 2219 字,大约阅读时间需要 7 分钟。

hot3.png

////  main.m//  文件管理练习(每秒写入一个时间到文件)////  Created by on 14-10-18.//  Copyright (c) 2014年. All rights reserved.//#import 
#import "WriteDate.h"int main(int argc, const char * argv[]) { @autoreleasepool { WriteDate *writeDate = [[WriteDate alloc] init]; [writeDate runDate]; } [[NSRunLoop currentRunLoop] run]; return 0;}

////  WriteDate.h//  文件管理练习(每秒写入一个时间到文件)////  Created by on 14-10-18.//  Copyright (c) 2014年 . All rights reserved.//#import 
@interface WriteDate : NSObject- (void) runDate;- (void) timerAction:(NSTimer *)timer;@end
////  WriteDate.m//  文件管理练习(每秒写入一个时间到文件)////  Created by on 14-10-18.//  Copyright (c) 2014年 . All rights reserved.//#import "WriteDate.h"@implementation WriteDate- (void) runDate {    NSFileManager *fileManager = [NSFileManager defaultManager];    NSString *homePath = NSHomeDirectory();    NSString *filePath = [homePath stringByAppendingPathComponent:@"Desktop/test.txt"];    BOOL success = [fileManager createFileAtPath:filePath contents:nil attributes:nil];    if (!success) {        NSLog(@"文件创建失败!");    }    //    不要将创建对象的方法写入到timerAction中,没必要每次都创建一个对象//    这里还可以优化一下将格式化的工作写在WriteDate中    NSFileHandle *fileHandle = [NSFileHandle fileHandleForWritingAtPath:filePath];    //    这里将fileHandle对象传到timerAction中,避免在timerAction中重复的创建对象    [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timerAction:) userInfo:fileHandle repeats:YES];}- (void) timerAction:(NSTimer *)timer {    static int n = 0;        NSFileHandle *fileHandle = timer.userInfo;    [fileHandle seekToEndOfFile];        NSDate *nowDate = [NSDate date];//    以下两行是格式化日期的方式    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];    [dateFormat setDateFormat:@"yyyy/MM/dd HH:mm:ss"];    NSString *dateString = [dateFormat stringFromDate:nowDate];        dateString = [dateString stringByAppendingString:@"\n"];    NSData *data = [dateString dataUsingEncoding:NSUTF8StringEncoding];        [fileHandle writeData:data];        if (n == 10) {//        关闭定时器        [timer invalidate];                [fileHandle closeFile];        NSLog(@"程序已退出");        exit(1);    }        n++;}@end

转载于:https://my.oschina.net/are1OfBlog/blog/335080

你可能感兴趣的文章
Exchange2010server证书申请及分配服务
查看>>
Cassandra 处理客户端请求
查看>>
[WinApi]邮槽通信C/S实例
查看>>
linux NFS配置:NFS相关概念及其配置与查看
查看>>
需求转化到文档维护
查看>>
《互联网运营智慧》第7章“简单cdn”正式版下载
查看>>
如何解决SQL Server 2008 R2中“阻止保存要求重新创建表的更改”的问题!
查看>>
基于Xcode原型驱动的iOS应用设计
查看>>
SOA标准之----SCA架构思想
查看>>
9.VMware View 4.6安装与部署-connection server(View Replica Server)
查看>>
项目管理和产品管理绉议
查看>>
Rafy 领域实体框架设计 - 重构 ORM 中的 Sql 生成
查看>>
编程之基础:数据类型(二)
查看>>
倒排索引PForDelta压缩算法——基本假设和霍夫曼压缩同
查看>>
java基础--相等
查看>>
记一次网站服务器搬迁实录
查看>>
Sql server restore script(还原数据库正确的步骤)
查看>>
牛客网刷题汇总(一)附解析
查看>>
(转) Deep Learning in a Nutshell: Reinforcement Learning
查看>>
微信说中国人的国庆长假 境内游西湖外滩上榜
查看>>