[swift] 파일 처리

Swift는 다양한 파일 처리 작업을 쉽게 수행할 수 있는 강력한 언어입니다. 이 글에서는 Swift를 사용하여 파일을 생성, 읽기, 쓰기, 삭제하는 방법을 알아보겠습니다.

파일 생성하기

새 파일을 생성하기 위해 FileManager 클래스를 사용할 수 있습니다. 다음 예제는 “example.txt”라는 이름의 텍스트 파일을 생성합니다.

import Foundation

let fileURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!.appendingPathComponent("example.txt")

FileManager.default.createFile(atPath: fileURL.path, contents: nil, attributes: nil)

위의 코드에서 FileManager.default.createFile 함수를 사용하여 파일을 생성합니다. createFile 함수의 첫 번째 매개변수는 파일의 경로를 나타내며, 두 번째 매개변수는 파일의 내용을 지정하고 싶을 경우 해당 내용을 전달할 수 있습니다.

파일 읽기

파일을 읽기 위해 String 객체를 사용하여 파일의 내용을 가져올 수 있습니다. 다음 예제는 “example.txt” 파일의 내용을 읽어옵니다.

import Foundation

let fileURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!.appendingPathComponent("example.txt")

if let fileContents = try? String(contentsOf: fileURL) {
    print(fileContents)
}

위의 코드에서 String(contentsOf: fileURL) 메서드를 사용하여 파일의 내용을 읽습니다. try? 키워드를 사용하여 파일 읽기 작업이 실패할 경우 예외 처리를 할 수 있습니다.

파일 쓰기

파일에 내용을 쓰기 위해서는 String 객체를 사용하여 내용을 작성하고 파일에 쓸 수 있습니다. 다음 예제는 “example.txt” 파일에 내용을 씁니다.

import Foundation

let fileURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!.appendingPathComponent("example.txt")

let fileContents = "Hello, World!"

try? fileContents.write(to: fileURL, atomically: true, encoding: .utf8)

위의 코드에서 write(to: atomically: encoding:) 메서드를 사용하여 파일에 내용을 씁니다. 첫 번째 매개변수는 파일의 경로를 나타내며, 두 번째 매개변수는 원자성이 보장되는지 여부를 결정하고, 세 번째 매개변수는 문자 인코딩 방식을 지정합니다.

파일 삭제하기

파일을 삭제하기 위해 FileManager 클래스의 removeItem(at:) 메서드를 사용할 수 있습니다. 다음 예제는 “example.txt” 파일을 삭제합니다.

import Foundation

let fileURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!.appendingPathComponent("example.txt")

do {
    try FileManager.default.removeItem(at: fileURL)
} catch let error as NSError {
    print("Error: \(error.localizedDescription)")
}

위의 코드에서 removeItem(at:) 메서드를 사용하여 파일을 삭제합니다. 예외 처리를 통해 파일 삭제 작업 중에 발생한 오류를 처리할 수 있습니다.

결론

Swift를 사용하여 파일을 생성, 읽기, 쓰기, 삭제하는 방법을 알아보았습니다. FileManager 클래스와 String 객체의 다양한 메서드를 활용하여 파일 처리 작업을 간편하게 수행할 수 있습니다. 더 많은 기능을 원하는 경우 Swift의 문서를 참조하시기 바랍니다.