NSFileHandle & NSFileManager 文件创建及写入例程
2013-08-12 22:58
501 查看
/*
* 例程说明:
* 创建一个Date.text文件,获取当前的日期,将日期格式为“2013/08/12 22:50:00”的形式。
* 然后以一秒记录一次,将新的时间存入到文件中。
*/
/*
* 新建 WriteDate.h
文件及 WriteDate 类声明
*/
#import <Foundation/Foundation.h>
@interface WriteDate :
NSObject
- (void) runWrite;
@end
/*
* 新建 WriteDate.m 文件及 WriteDate 类实现
*/
#import "WriteDate.h"
@implementation WriteDate
- (void) runWrite {
//
创建文件管理对象
NSFileManager *fileManager = [NSFileManager
defaultManager];
//
获取当前用户 路径 /Users/xxh
NSString *path = NSHomeDirectory();
//
文件路径
NSString *filePath = [path
stringByAppendingPathComponent:@"Desktop/Date.text"];
//
新建文件
BOOL success = [fileManager
createFileAtPath:filePath contents:nil
attributes:nil];
if (success) {
NSLog(@"create success!");
}
//
文件写操作对象
NSFileHandle *fileHandle = [NSFileHandle
fileHandleForWritingAtPath:filePath];
//
创建定时器
[NSTimer
scheduledTimerWithTimeInterval:1
target:self
selector:@selector(timerAction:)
userInfo:fileHandle repeats:YES];
}
- (void) timerAction:(NSTimer *)timer {
NSFileHandle *fileHandle = timer.userInfo;
//
文件指针移动到文件未尾
[fileHandle
seekToEndOfFile];
//
限制关闭条件
static int n =
1; // 写10后关闭定时器
//
获取当前时间
NSDate *nowDate = [NSDate
date];
//
时间格式化
NSDateFormatter *dateFormater = [[NSDateFormatter
alloc]
init];
[dateFormater setDateFormat:@"YYYY/MM/DD HH:mm:ss"];
//
返回时间字符串
NSString *dateString = [dateFormater
stringFromDate:nowDate];
//
添加换行符
dateString = [dateString
stringByAppendingString:@"\n"];
//
通过数据编码 转换成数据对象
NSData *data = [dateString
dataUsingEncoding:NSUTF8StringEncoding];
//
写入文件
[fileHandle
writeData:data];
if (n == 10) {
[timer
invalidate]; //
关闭定时间
[fileHandle
closeFile]; //
关闭文件句柄
}
n++;
}
@end
/*
* main 方法
*/
#import <Foundation/Foundation.h>
#include "WriteDate.h"
int main(int argc,
const char * argv[])
{
@autoreleasepool {
WriteDate *writeDate = [[WriteDate
alloc] init];
[writeDate
runWrite];
}
[[NSRunLoop
currentRunLoop] run];
return 0;
}
* 例程说明:
* 创建一个Date.text文件,获取当前的日期,将日期格式为“2013/08/12 22:50:00”的形式。
* 然后以一秒记录一次,将新的时间存入到文件中。
*/
/*
* 新建 WriteDate.h
文件及 WriteDate 类声明
*/
#import <Foundation/Foundation.h>
@interface WriteDate :
NSObject
- (void) runWrite;
@end
/*
* 新建 WriteDate.m 文件及 WriteDate 类实现
*/
#import "WriteDate.h"
@implementation WriteDate
- (void) runWrite {
//
创建文件管理对象
NSFileManager *fileManager = [NSFileManager
defaultManager];
//
获取当前用户 路径 /Users/xxh
NSString *path = NSHomeDirectory();
//
文件路径
NSString *filePath = [path
stringByAppendingPathComponent:@"Desktop/Date.text"];
//
新建文件
BOOL success = [fileManager
createFileAtPath:filePath contents:nil
attributes:nil];
if (success) {
NSLog(@"create success!");
}
//
文件写操作对象
NSFileHandle *fileHandle = [NSFileHandle
fileHandleForWritingAtPath:filePath];
//
创建定时器
[NSTimer
scheduledTimerWithTimeInterval:1
target:self
selector:@selector(timerAction:)
userInfo:fileHandle repeats:YES];
}
- (void) timerAction:(NSTimer *)timer {
NSFileHandle *fileHandle = timer.userInfo;
//
文件指针移动到文件未尾
[fileHandle
seekToEndOfFile];
//
限制关闭条件
static int n =
1; // 写10后关闭定时器
//
获取当前时间
NSDate *nowDate = [NSDate
date];
//
时间格式化
NSDateFormatter *dateFormater = [[NSDateFormatter
alloc]
init];
[dateFormater setDateFormat:@"YYYY/MM/DD HH:mm:ss"];
//
返回时间字符串
NSString *dateString = [dateFormater
stringFromDate:nowDate];
//
添加换行符
dateString = [dateString
stringByAppendingString:@"\n"];
//
通过数据编码 转换成数据对象
NSData *data = [dateString
dataUsingEncoding:NSUTF8StringEncoding];
//
写入文件
[fileHandle
writeData:data];
if (n == 10) {
[timer
invalidate]; //
关闭定时间
[fileHandle
closeFile]; //
关闭文件句柄
}
n++;
}
@end
/*
* main 方法
*/
#import <Foundation/Foundation.h>
#include "WriteDate.h"
int main(int argc,
const char * argv[])
{
@autoreleasepool {
WriteDate *writeDate = [[WriteDate
alloc] init];
[writeDate
runWrite];
}
[[NSRunLoop
currentRunLoop] run];
return 0;
}
相关文章推荐
- NSFileHandle & NSFileManager 文件复制例程
- 【IOS 开发学习总结-OC-36】★文件 I/O——NSFileHandle&NSURL&NSBundle
- oc 文件管理NSFileManager,文件读写NSFileHandle ,设计一个文件管理类将一个文件复制到另一个文件,由于文件过大要求每次复制100长度,通过NSFileHandle 来操作,并
- 文件管理者NSFileManager && 写入文件存储 &&字符串操作 && NSInputStream
- NSFileHandle 类 不能创建文件
- experiment : 基于wdk's cancelsafe 例程, 拒绝文件创建
- NSFileManager和NSFileHandle文件的所有操作
- iPhone开发-创建、读取、写入文件 今天的东西是如何在iPhoneOS下创建、删除、读取、写入文件 创建与删除: //创建文件管理器 NSFileManager *fileManager =
- 异常处理&创建日志文件
- C# 创建,读取,写入 XML文件
- 2013 Mac Air 装Win7双系统问题-安装程序无法创建新的分区,也无法定位系统 & Windows无法安装所需的文件,错误代码0x80070570
- OC NSFileHandle(文件内容操作)
- Linux下创建、打开、写入文件操作
- 创建文件&复制文件&删除文件
- JAVA 创建TXT文件,写入文件内容,读取文件内容
- go语言中的文件创建,写入,读取,删除
- java中写入文件时换行符是用"/r/n"还是"/n"?
- iOS开发_iphone开发_文件系统NSFileManager_如何创建、重命名和删除文件
- C# 1读写Excel 2创建文件读写入txt
- 创建4个线程,4个线程同时对一个文件进行修改。线程1负责向文件写入A,线程2负责向文件写入B,线程3负责写入C,线程4负责写入D。最终文件里的内容应该是ABCDABCDABCD....循环10次;