URL과 파일 경로
URL 기반 API로 파일의 위치를 찾습니다.
URL과 파일 경로은(는) CoddyKit의 무료 Swift Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Swift Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Swift Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
URL 및 파일 경로
Apple 플랫폼에서는 파일을 단순한 문자열이 아니라 URL 값으로 지정합니다. 파일 URL은 파일 시스템의 위치를 가리킵니다.
파일 URL
URL(fileURLWithPath:)으로 파일 URL을 만듭니다. 이렇게 하면 해당 URL이 네트워크 주소가 아닌 로컬 파일임을 나타낼 수 있습니다.
import Foundation
let url = URL(fileURLWithPath: "/tmp/data.txt")
print(url.path)
print(url.isFileURL)경로 구성 요소 추가
appendingPathComponent(_:)는 구분자를 대신 삽입하여 안전하게 하위 경로를 만듭니다.
import Foundation
let base = URL(fileURLWithPath: "/tmp")
let file = base.appendingPathComponent("notes.txt")
print(file.path)경로 확장자
appendingPathExtension(_:)으로 파일 형식을 추가하고, pathExtension으로 읽을 수 있습니다.
import Foundation
let url = URL(fileURLWithPath: "/tmp/report")
.appendingPathExtension("pdf")
print(url.lastPathComponent)
print(url.pathExtension)마지막 경로 구성 요소
lastPathComponent는 파일 또는 폴더 이름을 반환하고, deletingLastPathComponent()는 상위 디렉터리로 이동합니다.
import Foundation
let url = URL(fileURLWithPath: "/Users/me/file.txt")
print(url.lastPathComponent)
print(url.deletingLastPathComponent().path)확장자 삭제
deletingPathExtension()은 형식 확장자를 제거하므로 관련 파일 이름을 만들 때 유용합니다.
import Foundation
let url = URL(fileURLWithPath: "/tmp/image.png")
let base = url.deletingPathExtension()
print(base.lastPathComponent)최신 URL 접근자
최신 API에서는 url.appending(path:)와 url.path()를 사용하며, 두 방법 모두 동일한 파일 URL을 생성합니다.
import Foundation
let base = URL(fileURLWithPath: "/tmp")
let child = base.appending(path: "logs/today.log")
print(child.path)URL과 문자열 경로 비교
path 속성은 API에서 문자열이 필요할 때 URL을 일반 문자열로 변환합니다. 그 외에는 항상 URL을 우선 사용하세요.
import Foundation
let url = URL(fileURLWithPath: "/var/data")
let asString: String = url.path
print(asString)상대 URL
base를 기준으로 URL을 만들 수도 있으며, 알려진 루트 디렉터리에서 경로를 조합할 때 유용합니다.
import Foundation
let base = URL(fileURLWithPath: "/tmp/", isDirectory: true)
let rel = URL(fileURLWithPath: "sub/file.txt", relativeTo: base)
print(rel.absoluteURL.path)경로 표준화
standardizedFileURL은 ..이나 . 같은 요소를 정리해 깔끔한 표준 경로로 변환합니다.
import Foundation
let messy = URL(fileURLWithPath: "/tmp/a/../b/file.txt")
print(messy.standardizedFileURL.path)문자열 대신 URL을 사용하는 이유
URL은 경로가 디렉터리인지 나타내고, 구분자를 처리하며, FileManager와 연동됩니다. 이에 비해 문자열 경로는 오류가 발생하기 쉽습니다.
import Foundation
let dir = URL(fileURLWithPath: "/tmp/folder", isDirectory: true)
print("Has directory path: \(dir.hasDirectoryPath)")빠른 확인
파일 URL에서 하위 경로를 안전하게 만드는 메서드는 무엇일까요?
복습
파일은 URL과 URL(fileURLWithPath:)으로 지정합니다. appendingPathComponent와 appendingPathExtension으로 경로를 만들고, lastPathComponent와 deletingLastPathComponent로 이동하며, URL을 표준화하는 방법을 배웠습니다. 다음 주제는 실제 데이터 읽기 및 쓰기입니다.
자주 묻는 질문
“URL과 파일 경로” 강의는 무료인가요?
네 — “URL과 파일 경로” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Swift Academy 강의 전체를 잠금 해제할 수 있습니다. Swift Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“URL과 파일 경로”에서 뭘 배우나요?
URL 기반 API로 파일의 위치를 찾습니다. 브라우저에서 직접 실행하는 실습 코드로 Swift Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Swift Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Swift Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.
“URL과 파일 경로” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Swift Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Swift Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- URL과 파일 경로
- 데이터 읽기와 쓰기
- 디렉터리 관리
- 앱 샌드박스 디렉터리