美文网首页
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