【发布时间】:2021-12-20 08:13:30
【问题描述】:
以字节的形式将文件读入内存很容易:
let fileURL: URL = ...
Data(contentsOf: fileURL)
但这会返回一切。我想查看文件的前 16 个字节,而不将其余部分加载到内存中。在 Swift 中执行此操作的最佳方法是什么?
【问题讨论】:
标签: swift
以字节的形式将文件读入内存很容易:
let fileURL: URL = ...
Data(contentsOf: fileURL)
但这会返回一切。我想查看文件的前 16 个字节,而不将其余部分加载到内存中。在 Swift 中执行此操作的最佳方法是什么?
【问题讨论】:
标签: swift
使用FileHandle API,它有read(upToCount:):
let handle = try FileHandle(forReadingFrom: someURL)
let first16Bytes: Data? = try handle.read(upToCount: 16)
try handle.close()
或者,您可以read the file asynchronously,在这种情况下,您可以通过向前移动迭代器(调用AsyncIterator.next)来控制读取的字节数,或者使用prefix 来获取第一个字节。
【讨论】: