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

2017-10-16  本文已影响0人  AYangGo

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

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

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

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

        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)
上一篇 下一篇

猜你喜欢

热点阅读