[swift] Swift로 파일 이동 시 파일 이름에 특수 문자 처리 방법

파일을 이동하거나 복사할 때, 파일 이름에 특수 문자가 포함되어 있다면 문제가 발생할 수 있습니다. Swift에서 파일 이동 시 파일 이름에 특수 문자를 처리하는 방법에 대해 알아보겠습니다.

1. 파일 이름에 특수 문자가 있는 경우

파일 이름에는 종종 공백, 특수 문자 또는 유니코드 문자가 포함될 수 있습니다. 이러한 특수 문자는 파일 시스템에서 예기치 않은 동작을 일으키거나, 파일 경로를 정확히 인식하지 못할 수 있습니다.

2. 파일 이름 처리 방법

이러한 문제를 해결하기 위해 파일 이름에 특수 문자가 포함되어 있는 경우, 파일 이름을 적절히 이스케이프(escape) 처리하여 사용할 수 있습니다.

let fileName = "파일 이름!@#$%^&.txt"
let escapedFileName = fileName.addingPercentEncoding(withAllowedCharacters: .urlHostAllowed)

// 결과: "%ED%8C%8C%EC%9D%BC%20%EC%9D%B4%EB%A6%84!%40%23%24%25%5E%26.txt"

3. 파일 이동 예제

이스케이프 처리된 파일 이름을 사용하여 파일을 이동하는 예제를 살펴보겠습니다.

let sourceURL = URL(fileURLWithPath: "/path/to/sourceDirectory/파일 이름!@#$%^&.txt")
let destinationURL = URL(fileURLWithPath: "/path/to/destinationDirectory/\(escapedFileName)")

do {
    try FileManager.default.moveItem(at: sourceURL, to: destinationURL)
} catch {
    print("Error: \(error)")
}

위 예제에서는 sourceURL에 있는 파일을 destinationURL로 이동하고 있습니다.

이렇게 파일 이름에 특수 문자가 포함되어 있을 때, 파일 이동 등의 작업을 할 때는 파일 이름을 적절히 처리하여 사용해야 합니다.

이제 Swift로 파일을 이동할 때 특수 문자가 포함된 파일 이름을 처리하는 방법에 대해 알아보았습니다.

참고 자료