[swift] Swift에서 디렉토리 삭제 시 파일 압축하기

이번에는 Swift에서 디렉토리를 삭제하고 해당 디렉토리에 있는 파일들을 압축하는 방법에 대해 알아보겠습니다.

디렉토리 삭제하기

먼저, 디렉토리를 삭제하는 방법부터 알아봅시다. Swift에서 디렉토리를 삭제하기 위해서는 FileManager를 사용할 수 있습니다. 아래의 예제 코드는 디렉토리를 삭제하는 방법을 보여줍니다.

import Foundation

func deleteDirectory(atPath path: String) {
    let fileManager = FileManager.default
    do {
        try fileManager.removeItem(atPath: path)
        print("디렉토리 삭제 성공")
    } catch {
        print("디렉토리 삭제 실패: \(error)")
    }
}

let directoryPath = "/path/to/directory"
deleteDirectory(atPath: directoryPath)

이 코드는 FileManager를 사용하여 디렉토리를 삭제합니다.

파일 압축하기

이제, 디렉토리를 삭제한 후 해당 디렉토리에 있는 파일들을 압축하는 방법에 대해 알아보겠습니다. Swift에서 파일을 압축하기 위해서는 Zip라이브러리를 사용할 수 있습니다. 아래의 예제 코드는 파일을 압축하는 방법을 보여줍니다.

import Foundation
import ZIPFoundation

func zipDirectory(atPath sourcePath: String, to destinationPath: String) {
    let sourceURL = URL(fileURLWithPath: sourcePath)
    let destinationURL = URL(fileURLWithPath: destinationPath)

    do {
        try FileManager().zipItem(at: sourceURL, to: destinationURL, shouldKeepParent: false)
        print("압축 성공")
    } catch {
        print("압축 실패: \(error)")
    }
}

let directoryPath = "/path/to/directory"
let zipFilePath = "/path/to/destination/zipfile.zip"
zipDirectory(atPath: directoryPath, to: zipFilePath)

이 코드는 ZIPFoundation을 사용하여 디렉토리에 있는 파일들을 압축합니다.

이제 Swift에서 디렉토리를 삭제하고 해당 디렉토리에 있는 파일들을 압축하는 방법을 알아보았습니다. 필요에 따라 이를 응용하여 프로젝트에서 사용할 수 있을 것입니다.

참고 자료