NSFileHandle 写入 含定时器的使用

#import <Foundation/Foundation.h>

#import "WriteDate.h"

int main(int argc, const char * argv[]) {

    @autoreleasepool {

        // insert code here...

        

        WriteDate *writeDate = [[WriteDate alloc]init];

        [writeDate runWrite];

        

    }    

    [[NSRunLoop currentRunLoop]run];  //定时器

    return 0;

}




#import <Foundation/Foundation.h>


@interface WriteDate : NSObject


- (void)runWrite;


@end





#import "WriteDate.h"


@implementation WriteDate


- (void)runWrite{

    NSFileManager *fileManager = [NSFileManager defaultManager];

    NSString *path = NSHomeDirectory();      //获取地址

    NSString *filePath = [path stringByAppendingPathComponent:@"abc.text"];    //创建文件

    BOOL success = [fileManager createFileAtPath:filePath contents:nil attributes:nil ];

    if (success) {

        NSLog(@"creat success!");      //判断文件是否创建成功

    }

    

    NSFileHandle *fileHandle = [NSFileHandle fileHandleForWritingAtPath:filePath];

    [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timerAction:) userInfo:fileHandle repeats:YES];  //定时器

    

}


- (void)timerAction:(NSTimer *)timer {

    static int n = 0;

    

    NSFileHandle *fileHandle = timer.userInfo;

    

    NSDate *nowdate = [NSDate date];   //获取当前时间

    NSLog(@"%@",nowdate);

    

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];

    [dateFormatter setDateFormat:@"yyyy/MM/DD HH:mm:ss"];   //设置时间格式

    NSString *dateString = [dateFormatter stringFromDate:nowdate];     //日期型转换成字符型

    dateString = [dateString stringByAppendingString:@"\n"];    //追加换行

    

    NSData *data = [dateString dataUsingEncoding:NSUTF8StringEncoding];   //转换成对象

    [fileHandle writeData:data];

    

    if (n == 10) {

        [timer invalidate];     //计时器退出

        [fileHandle closeFile];    //关闭文件

    }

    n++;

}


@end



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值