网络编程(五)NSFileHandle和 NSOutputStream

文件句柄 NSFileHandle

  • 特点:
 1>在写数据到磁盘时,边写数据边往后移位置.
 2>直接将NSData 写入磁盘
  • 使用步骤:
 1> 创建空文件
 2> 创建文件句柄指针指向该文件末尾
 3> 当接收到数据时,使用句柄写数据即可
 4> 当数据写完后,需要关闭句柄
 // step1
    NSString *filepath = @"/Users/yang/Desktop/testDoc/abc.png";
    [[NSFileManager defaultManager] createFileAtPath:filepath contents:nil attributes:nil];
    // step2
    NSFileHandle *fileHandle = [NSFileHandle fileHandleForWritingAtPath:filepath];
    [fileHandle seekToEndOfFile];
    // step3
    [fileHandle writeData:data];
    // step4
    [fileHandle closeFile];

二 输出流 NSOutputStream

  • 特点:
 1>根据指定的路径创建输出流后不需要创建文件,如果文件不存在,输出流会自动创建一个文件.
 2>输出流创建后需要手动打开输出流才能写数据.
 3>写入磁盘的是byte,需要将NSData 转为bytes
  • 使用步骤:
 1> 创建输出流(指向文件)打开出入流
 2> 当接收到数据时,直接使用输出流写数据即可
 3> 当所有数据写完后关闭输出流
  NSString *filepath = @"/Users/yang/Desktop/testDoc/abc.png";
 // step1
    NSOutputStream *outStream = [NSOutputStream outputStreamToFileAtPath:filepath append:YES];
     // step2
    [outStream open];
     // step3
    [outStream write:data.bytes maxLength:data.length];
     // step4
    [outStream close];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容