[swift] Swift에서 특정 확장자를 가진 파일을 포함하는 디렉토리 삭제하기

Swift에서 특정 확장자를 가진 파일을 포함하는 디렉토리를 삭제하는 방법에 대해 알아보겠습니다.

Step 1: 디렉토리 내 파일 필터링하기

먼저, 특정 확장자를 가진 파일을 필터링하여 해당 디렉토리 내의 파일 리스트를 가져옵니다. 아래 예시 코드는 확장자가 .txt인 파일을 필터링하는 방법을 보여줍니다.

func filterFilesInDirectory(withExtension extension: String, atPath path: String) -> [String] {
    guard let fileURLs = try? FileManager.default.contentsOfDirectory(at: URL(fileURLWithPath: path), includingPropertiesForKeys: nil) else {
        return []
    }
    return fileURLs.filter { $0.pathExtension == `extension` }.map { $0.lastPathComponent }
}

let directoryPath = "/path/to/your/directory"
let targetFiles = filterFilesInDirectory(withExtension: "txt", atPath: directoryPath)

Step 2: 필터링된 파일들 삭제하기

다음으로, 필터링된 파일들을 순회하면서 삭제합니다. 아래 예시 코드는 Step 1에서 필터링된 파일들을 삭제하는 방법을 보여줍니다.

func deleteFilesInDirectory(withExtension extension: String, atPath path: String) {
    let fileManager = FileManager.default
    let targetFiles = filterFilesInDirectory(withExtension: `extension`, atPath: path)
    targetFiles.forEach { file in
        do {
            try fileManager.removeItem(atPath: "\(path)/\(file)")
            print("Deleted file: \(file)")
        } catch {
            print("Error deleting file: \(file)")
        }
    }
}

let directoryPath = "/path/to/your/directory"
deleteFilesInDirectory(withExtension: "txt", atPath: directoryPath)

이제, 당신의 Swift 애플리케이션에서 특정 확장자를 가진 파일을 포함하는 디렉토리를 삭제하는 방법에 대해 알게 되었습니다!

참고 자료

특별한 주의사항이나 추가 도움이 필요하신 경우 언제든지 물어보십시오.