一、NSFileHandle
1.它能够以流的方式访问基于文件、网络、管道、设备的数据,可以设置写入的位置指针。
2.NSData、NSString写入文件的方法是直接覆盖写入,全部读出,当处理大数据的文件时,对内存会造成压力。而NSFileHandle能够以流的方式处理文件,而不用把整个文件的数据全部放在内存中处理。
3.该类不负责创建文件,创建文件的工作由NSFileManager来负责。
4.当对文件处理完毕时,不要忘记通过closeFile方法关闭文件,
5.相关API可以参考苹果文档。
二、NSInputStream和NSOutputStream
1.它们提供输入输出流,可以追加写入,依次读出,可以处理NSData,URL,文件等。
2.它们从NSStream继承过来。
3.NSStream提供流的监控机制。一方可以在流中写入或者读出,另一方可以监控流的数据写入和读出,使用流程如下:
(1)建立流实例,并设置delegate;
(2)将这个流对象布置在一个runloop中,并且Open流;
(3)当流事件发生时,会调用代理方法;
(4)使用代理方法stream:handleEvent处理流事件;
(5)当没有数据要处理时,清理流对象。
4.相关API可以参考苹果文档。