[swift] Swift으로 디렉토리 생성 후 파일 최신 수정 일자 확인하기

Swift에서 디렉토리를 생성하고 해당 디렉토리에 있는 파일들 중에서 최신 수정 일자를 확인하는 방법에 대해 알아봅시다.

디렉토리 생성하기

Swift에서 디렉토리를 생성하려면 FileManager 클래스의 createDirectory 메서드를 사용합니다. 아래는 디렉토리를 생성하는 예제 코드입니다.

import Foundation

let fileManager = FileManager.default
let directoryURL = try! fileManager.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false)
  .appendingPathComponent("MyDirectory")

do {
    try fileManager.createDirectory(at: directoryURL, withIntermediateDirectories: true, attributes: nil)
} catch {
    print("Error creating directory: \(error)")
}

위 코드에서는 FileManager를 사용하여 문서 디렉토리 내에 “MyDirectory”라는 디렉토리를 생성하는 예제입니다.

파일 최신 수정 일자 확인하기

이제 해당 디렉토리 내 파일들 중에서 최신 수정 일자를 확인해보겠습니다. 아래는 해당 기능을 수행하는 함수의 예제 코드입니다.

func getLatestModifiedDate(in directoryURL: URL) -> Date? {
    let fileManager = FileManager.default
    do {
        let files = try fileManager.contentsOfDirectory(at: directoryURL, includingPropertiesForKeys: [.contentModificationDateKey], options: .skipsHiddenFiles)
        if let latestFile = files.max(by: { (a, b) -> Bool in
            guard let dateA = (try? a.resourceValues(forKeys: [.contentModificationDateKey]))?.contentModificationDate,
                  let dateB = (try? b.resourceValues(forKeys: [.contentModificationDateKey]))?.contentModificationDate else { return false }
            return dateA < dateB
        }) {
            return (try? latestFile.resourceValues(forKeys: [.contentModificationDateKey]))?.contentModificationDate
        } else {
            return nil
        }
    } catch {
        print("Error getting latest modification date: \(error)")
        return nil
    }
}

// Example usage
let latestModificationDate = getLatestModifiedDate(in: directoryURL)
print("Latest modification date: \(latestModificationDate ?? "No files found")")

위 함수는 주어진 디렉토리 내 파일들 중에서 가장 최신의 수정 일자를 반환합니다.

이제 위의 예제 코드를 활용하여 Swift에서 디렉토리를 생성하고 해당 디렉토리 내의 파일들 중에서 최신 수정 일자를 확인하는 방법을 알아보았습니다.

더 많은 정보는 Swift 공식 문서 를 참고하시기 바랍니다.