[swift] Swift 파일 입출력

Swift 언어는 파일 입출력을 위한 다양한 기능과 함수를 제공합니다. 파일을 읽고 쓰는 작업은 데이터 처리 및 파일 관리에 매우 중요한 역할을 합니다. 이 기능을 사용하여 파일에서 데이터를 읽어오거나 데이터를 파일에 쓰는 작업을 할 수 있습니다.

파일 읽기

특정 파일에서 데이터를 읽어오기 위해서는 FileHandle 클래스를 사용해야 합니다. 다음은 파일에서 데이터를 읽어오는 예제입니다.

let fileURL = URL(fileURLWithPath: "file.txt")
do {
    let fileHandle = try FileHandle(forReadingFrom: fileURL)
    let fileData = fileHandle.readDataToEndOfFile()
    let fileContents = String(data: fileData, encoding: .utf8)
    print(fileContents)
    fileHandle.closeFile()
} catch {
    print("파일 읽기 에러: \(error)")
}

위 예제에서는 FileHandle 클래스의 readDataToEndOfFile() 메소드를 사용하여 파일에서 데이터를 읽어옵니다. 읽어온 데이터는 Data 형식으로 반환되므로, 문자열로 변환하기 위해 Stringinit(data:encoding:) 메소드를 사용합니다.

파일 쓰기

파일에 데이터를 쓰기 위해서는 FileHandle 클래스를 사용합니다. 다음은 파일에 데이터를 쓰는 예제입니다.

let fileURL = URL(fileURLWithPath: "file.txt")
let dataToWrite = "Hello, World!".data(using: .utf8)
do {
    let fileHandle = try FileHandle(forWritingTo: fileURL)
    fileHandle.write(dataToWrite!)
    fileHandle.closeFile()
} catch {
    print("파일 쓰기 에러: \(error)")
}

위 예제에서는 FileHandle 클래스의 write(_:) 메소드를 사용하여 파일에 데이터를 쓰고, 작업이 완료되면 파일 핸들을 닫습니다.

파일 존재 여부 확인

특정 파일이 존재하는지 여부를 확인하기 위해서는 FileManager 클래스를 사용할 수 있습니다. 다음은 파일의 존재 여부를 확인하는 예제입니다.

let fileManager = FileManager.default
let fileURL = URL(fileURLWithPath: "file.txt")
if fileManager.fileExists(atPath: fileURL.path) {
    print("파일이 존재합니다.")
} else {
    print("파일이 존재하지 않습니다.")
}

위 예제에서는 FileManager 클래스의 fileExists(atPath:) 메소드를 사용하여 파일의 존재 여부를 확인합니다. 메소드의 인자로는 파일의 경로를 전달합니다.

결론

Swift 언어를 사용하여 파일 입출력 작업을 수행하는 방법에 대해 알아보았습니다. 파일을 읽고 쓰는 작업은 데이터 처리에 있어서 매우 중요한 부분이므로, 잘 익혀두시면 좋습니다. 자세한 내용은 Apple 공식 문서를 참조하시기 바랍니다.