美文网首页
15.OC和swift中如何用输出流将二进制数据写入文件夹中

15.OC和swift中如何用输出流将二进制数据写入文件夹中

作者: AYangGo | 来源:发表于2017-10-16 11:15 被阅读0次

为了在下载大文件时候节省内存,我们会使用输出流,将下载下来的一节一节的二进制数据写入文件中;但是在OC和swift中,用输出流写入文件的时候,代码编写有不同,以下会列出代码,供大家参考:

OC代码:其中data就是二进制数据变量

       // 往输出流中写入数据
       [self.outputStream write:data.bytes maxLength:data.length];

swfit代码:里面主要是将二进制数据Data转换成UnsafePointer类型数据

  • 从AFN中找的
        var buffer = [UInt8](repeating: 0, count: data.count)
       data.copyBytes(to: &buffer, count: data.count)
       outputStream?.write(buffer, maxLength: buffer.count)
  • 有位大神告诉的
        let tempData:NSMutableData = NSMutableData()
        data.withUnsafeBytes {
            tempData.replaceBytes(in: NSMakeRange(0, data.count), withBytes: $0)
        }
        let p:UnsafePointer = tempData.bytes.assumingMemoryBound(to: UInt8.self)
        outputStream?.write(p, maxLength: data.count)

相关文章

网友评论

      本文标题:15.OC和swift中如何用输出流将二进制数据写入文件夹中

      本文链接:https://www.haomeiwen.com/subject/eakkuxtx.html