Считать содержимое файла из .zip файла в swift - PullRequest
1 голос
/ 25 апреля 2019

Как прочитать содержимое файла с расширением .zip в swift

У меня есть файл .zip , созданный из gZip Мне нужночитать содержимое файла .zip без разархивирования файла

let zipData = NSData(contentsOfFile: zipfilePath) as Data?

Без использования сторонних библиотек

1 Ответ

1 голос
/ 25 апреля 2019

Вы можете использовать собственный фреймворк Swift, который позволяет создавать, читать и обновлять файлы ZIP-архивов: ZIP Foundation.

Распаковка файла - это всего одна строка:

try fileManager.unzipItem(at: sourceURL, to: destinationURL)

Полный пример с некоторым контекстом будет выглядеть так:

let fileManager = FileManager()
let currentWorkingPath = fileManager.currentDirectoryPath
var sourceURL = URL(fileURLWithPath: currentWorkingPath)
sourceURL.appendPathComponent("archive.zip")
var destinationURL = URL(fileURLWithPath: currentWorkingPath)
destinationURL.appendPathComponent("directory")
do {
    try fileManager.createDirectory(at: destinationURL, withIntermediateDirectories: true, attributes: nil)
    try fileManager.unzipItem(at: sourceURL, to: destinationURL)
} catch {
    print("Extraction of ZIP archive failed with error:\(error)")
}

Вы можете проверить GitHub репозиторий: ZIPFoundation

Блог для ZIPFoundation: ZIPFoundation

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...