투케이2K

215. (ios/swift) FileManager removeItem 파일 매니저 아이템 삭제 사용해 디렉토리에 저장된 파일 삭제 수행 실시 본문

IOS

215. (ios/swift) FileManager removeItem 파일 매니저 아이템 삭제 사용해 디렉토리에 저장된 파일 삭제 수행 실시

투케이2K 2022. 10. 6. 11:05

[개발 환경 설정]

개발 툴 : 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 = "TWOK2.txt"
        
        
        // [파일이 저장되어 있는 경로 확인]
        let fileManager = FileManager.default // 파일 매니저 선언
        let fileDirectoryPath =  fileManager.urls(for: .documentDirectory, in: .userDomainMask).first! // 애플리케이션 저장 폴더
        
        
        // [삭제를 수행할 파일 경로 지정]
        let fileDeletePath = fileDirectoryPath.absoluteString + fileName
        
        
        // [애플리케이션 폴더에 저장되어 있는 파일 리스트 확인]
        var fileList : Array<String>? = nil
        do {
            fileList = try FileManager.default.contentsOfDirectory(atPath: fileDirectoryPath.path)
        }
        catch {
            print("[Error] : \(error.localizedDescription)")
        }
        print("")
        print("====================================")
        print("[\(self.ACTIVITY_NAME) >> testMain() :: 삭제하려는 파일 정보 확인]")
        print("[fileName :: \(fileName)]")
        print("[fileDeletePath :: \(fileDeletePath)]")
        print("====================================")
        print("")
        
        
        // [파일 삭제 수행 실시]
        if (fileList != nil){
            for i in stride(from: 0, through: fileList!.count-1, by: 1) {
                print("")
                print("====================================")
                print("[\(self.ACTIVITY_NAME) >> testMain() :: 파일 명칭 확인 실시]")
                print("[fileName :: \(fileList![i])]")
                print("====================================")
                print("")
                
                if ("\(fileList![i])" == fileName){ // [삭제 하려는 파일 명인 경우]
                    do {
                        try fileManager.removeItem(at: URL(string: fileDeletePath)!)
                        print("")
                        print("====================================")
                        print("[파일 삭제 성공 :: success]")
                        print("====================================")
                        print("")
                    }
                    catch {
                        print("")
                        print("====================================")
                        print("[파일 삭제 에러 :: \(error.localizedDescription)]")
                        print("====================================")
                        print("")
                    }
                }
            }
        }
        else {
            print("")
            print("====================================")
            print("[\(self.ACTIVITY_NAME) >> testMain() :: 파일 삭제 실패]")
            print("[error :: fileList is nil]")
            print("====================================")
            print("")
        }
        
    }
 

[결과 출력]


 
반응형
Comments