存储器中的Swift Zipfoundation Drestrate String不起作用

发布于 2025-02-11 18:18:34 字数 477 浏览 1 评论 0原文

我在 https://github.com/weichub.com/weichelb.com/weichsel/zipfoundation

我的要求是UNZIP内存中的文件内容并直接转换为字符串。

let archive = Archive(url: fileUrl, accessMode: .read, preferredEncoding: .utf8)
do{
   try archive?.extract(entry, consumer: {data in
      print(data.count)
    })
  }catch{}

档案对象始终无读取zip文件。另外,要提取方法的输入对象是什么?

I am using ZipFoundation in Swift from https://github.com/weichsel/ZIPFoundation

My requirement is unzip the file contents in memory and directly convert into String.

let archive = Archive(url: fileUrl, accessMode: .read, preferredEncoding: .utf8)
do{
   try archive?.extract(entry, consumer: {data in
      print(data.count)
    })
  }catch{}

The archive object is always null its not reading zip file. Also what is the entry object to pass to extract method?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

如果没结果 2025-02-18 18:18:34

邮政基础档案支持订阅。这允许您通过archive通过存档[“ path/to/to/file.txt”]获得条目

要访问获得的文件的内容,您可以使用extract的基于封闭的版本,如下所示:

guard let archiveURL = Bundle.main.url(forResource: "archive", withExtension: "zip"),
      let archive = Archive(url: archiveURL, accessMode: .read),
      let entry = archive["test/data.random"]
else { return }

_ = try? archive.extract(entry) { data in
    print(data.count)
}

ZIP Foundation archives support subscripting. This allows you to obtain an Entry by subscripting into an Archive via archive["path/to/file.txt"].

To get access to the contents of the obtained file, you use the closure-based version of extract as follows:

guard let archiveURL = Bundle.main.url(forResource: "archive", withExtension: "zip"),
      let archive = Archive(url: archiveURL, accessMode: .read),
      let entry = archive["test/data.random"]
else { return }

_ = try? archive.extract(entry) { data in
    print(data.count)
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文