수색…


소개

문서 디렉토리에서 청크 파일 읽기

문서 디렉토리에서 파일을 청크로 읽습니다.

문서 디렉토리에서 파일 경로를 가져 와서 해당 파일을 1024 청크로 읽고 NSMutableData 객체에 저장 (추가)하거나 직접 소켓에 쓸 수 있습니다.

// MARK: - Get file data as chunks Methode.
func getFileDataInChunks() {
    
    let doumentDirectoryPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as NSString
    let filePath = doumentDirectoryPath.appendingPathComponent("video.mp4")
    
    
    //Check file exits at path or not.
    if FileManager.default.fileExists(atPath: filePath) {
        
        let chunkSize = 1024 // divide data into 1 kb
        
        //Create NSMutableData object to save read data.
        let ReadData = NSMutableData()
        
        do {
            
            //open file for reading.
            outputFileHandle = try FileHandle(forReadingFrom: URL(fileURLWithPath: filePath))
            
            // get the first chunk
            var datas = outputFileHandle?.readData(ofLength: chunkSize)
            
            //check next chunk is empty or not.
            while !(datas?.isEmpty)! {
                
                //here I write chunk data to ReadData or you can directly write to socket.
                ReadData.append(datas!)
                
                // get the next chunk
                datas = outputFileHandle?.readData(ofLength: chunkSize)
                
                print("Running: \(ReadData.length)")
            }
            
            //close outputFileHandle after reading data complete.
            outputFileHandle?.closeFile()
            
            print("File reading complete")
            
        }catch let error as NSError {
            print("Error : \(error.localizedDescription)")
        }
    }
}

파일 읽기가 완료되면 파일을 가져옵니다 ReadData 변수의 데이터 여기에서 outputFileHandle은 FileHandle 의 객체입니다

var outputFileHandle:FileHandle?


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow