小编vol*_*vol的帖子

如何在 Swift 中从文件(而不是整个文件)读取数据块

假设我有一个 8 字节长的文件,仅包含 ASCII 字符:brownfox

我不想加载 2 字节的块并对 2[UInt8]字节大小的块进行操作,而不是加载整个文件并处理 if,因此操作如下:

  1. 从文件加载br(而不是整个文件)
  2. 对数据执行任何操作,例如反转rb
  3. 将输出保存到另一个文件
  4. 重复:ow nf ox

背后的原因:这样,如果我处理一个 1GB 文本的文件,我实际上不必有 1GB 的可用 RAM(或 2GB 用于输入和输出文件)。

这种文件处理方法对我来说对于加密和发送到云解决方案很重要。

我正在使用这个扩展:

extension Data {
    /**
     Consumes the specified input stream, creating a new Data object
     with its content.
     - Parameter reading: The input stream to read data from.
     - Note: Closes the specified stream.
     */
    init(reading input: InputStream) {
        self.init()
        input.open()

        let bufferSize = 1024 …
Run Code Online (Sandbox Code Playgroud)

swift

7
推荐指数
1
解决办法
4582
查看次数

标签 统计

swift ×1