NSFileManager类主要是用于对文件的管理与操作,如新建、删除、修改、移动等等。类似于java中的file类。
NSFileHandle类主要是用于对文件内容进行读写IO,类似于java中的IO流。
这两个类都有非常丰富的API,网上很多介绍的文章,这里就不多说了。
新建一个Mac OS 的命令行项目,使用NSFileManager类创建文件夹及文件,并写入了内容。部分代码如下:
//NSFileManager类
NSFileManager *fm = [NSFileManager defaultManager];
//获得用户根目录
NSString *path = NSHomeDirectory();
path = [path stringByAppendingString:@"/test"];
//创建文件夹
[fm createDirectoryAtPath:path attributes:nil];
//删除
//[fm removeItemAtPath:path error:nil];
NSString *path2 = [path stringByAppendingString:@"/ly.txt"];
NSData *data = [@"SBSBSBSBSB" dataUsingEncoding:NSUTF8StringEncoding];
//创建文件
[fm createFileAtPath:path2 contents:data attributes:nil];
//[fm removeItemAtPath:path error:nil];
NSLog(@"%@",path2);
执行后,创建了一个text文件夹,里面有个ly.txt文件。运行结果截图如下:
接着要在文件的内容后面添加一个字符串,使用NSFileHandle类,代码如下:
// NSFileHandle类
//可读可写
NSFileHandle *fh = [NSFileHandle fileHandleForUpdatingAtPath:path];
//跳到末尾
[fh seekToEndOfFile];
NSData *data2 = [@"就是你" dataUsingEncoding:NSUTF8StringEncoding];
//写数据
[fh writeData:data2];
[fh closeFile];
运行结果截图: