투케이2K

180. (swift5/xcode) [간단 소스] 텍스트 파일 저장 시 write 사용해 단일 저장 및 FileHandle seekToEndOfFile 사용해 연속 저장 수행 본문

Swift

180. (swift5/xcode) [간단 소스] 텍스트 파일 저장 시 write 사용해 단일 저장 및 FileHandle seekToEndOfFile 사용해 연속 저장 수행

투케이2K 2023. 12. 8. 16:46

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT5

 

[소스 코드]

 

// ---------------------------------------------------------------------
// [텍스트 파일 커서 끝쪽 이동 연속 추가] : append
// ---------------------------------------------------------------------
                        if (fileWritePath.hasSuffix("/") == true){
                            fileWritePath = fileWritePath + fileName
                        }
                        else {
                            fileWritePath = fileWritePath + "/" + fileName
                        }
                        
                        
                        let contentData = log.data(using: .utf8)
                        
                        if let handle = try? FileHandle(forWritingTo: NSURL.fileURL(withPath: fileWritePath)) {
                            handle.seekToEndOfFile() // moving pointer to the end
                            handle.write(contentData!) // adding content
                            handle.closeFile() // closing the file
                            
                            M_LOG = M_LOG + "[Success] :: Write"
                        }
                        else {
                            M_LOG = M_LOG + "[Fail] :: Write"
                        }



// ---------------------------------------------------------------------
// [텍스트 파일 단일 write 작성]
// ---------------------------------------------------------------------
                    M_LOG = "[Folder Default] :: "
                    
                    if (fileWritePath.hasSuffix("/") == true){
                        fileWritePath = fileWritePath + fileName
                    }
                    else {
                        fileWritePath = fileWritePath + "/" + fileName
                    }
                    
                    let contentData = log.data(using: .utf8)
                    
                    do {
                        try contentData?.write(to: NSURL.fileURL(withPath: fileWritePath), options: Data.WritingOptions.atomic)
                        
                        M_LOG = M_LOG + "[Success] :: Write"
                                
                    } catch {
                        M_LOG = "[Exception] :: \(error.localizedDescription)"
                    }

 

반응형
Comments