투케이2K

214. (ios/swift) FileManager 파일 매니저 사용해 디렉토리에 저장된 텍스트 파일 읽기 (read) 수행 실시 본문

IOS

214. (ios/swift) FileManager 파일 매니저 사용해 디렉토리에 저장된 텍스트 파일 읽기 (read) 수행 실시

투케이2K 2022. 10. 6. 10:26

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT

 

[소스 코드]

    // MARK: - [테스트 메인 함수 정의 실시]
    func testMain(){
        print("")
        print("====================================")
        print("[\(self.ACTIVITY_NAME) >> testMain() :: 테스트 함수 시작 실시]")
        print("====================================")
        print("")
        
        /*
         ------------------------------------
         [요약 설명]
         ------------------------------------
         1. NSFileManager : 아이폰 [내파일] >> [애플리케이션 폴더] 에 있는 [파일] 을 읽기, 쓰기를 할 수 있습니다
         ------------------------------------
         2. 필요 info plist 설정 :
         
         아이폰 파일 접근 설정 : Supports opening documents in place : YES
         아이튠즈 공유 설정 : Application supports iTunes file sharing : YES
         ------------------------------------
         */
        
        
        // [초기 변수 선언 실시]
        let fileName = "TWOK.txt"
        
        
        // [파일이 저장되어 있는 경로 확인]
        let fileManager = FileManager.default // 파일 매니저 선언
        let fileDirectoryPath =  fileManager.urls(for: .documentDirectory, in: .userDomainMask).first! // 애플리케이션 저장 폴더
        let fileSavePath = fileDirectoryPath.absoluteString + fileName
        
        
        // [파일 읽기 수행 실시]
        let fileReadData = self.loadResource(filePath: URL(string: fileSavePath)!)

        
        // [로그 출력 실시]
        print("")
        print("====================================")
        print("[\(self.ACTIVITY_NAME) >> testMain() :: 로그 출력 실시]")
        print("[fileReadData :: \(fileReadData)]")
        print("====================================")
        print("")
    }
    
    
    
    
    
    // MARK: - [async 함수 정의 실시]
    func loadResource(filePath:URL) -> String {
        print("")
        print("====================================")
        print("[\(self.ACTIVITY_NAME) >> loadResource() :: 파일 읽기 수행]")
        print("[filePath :: \(filePath.absoluteString)]")
        print("====================================")
        print("")
        
        var returnData = ""
        do {
            returnData = try String(contentsOf: filePath, encoding: .utf8) ?? ""
        }
        catch {
            print("")
            print("====================================")
            print("[\(self.ACTIVITY_NAME) >> loadResource() :: 파일 읽기 실패]")
            print("[error :: \(error.localizedDescription)]")
            print("====================================")
            print("")
        }
        return returnData
    }
 

[결과 출력]


 

반응형
Comments