Zoeken…


Invoering

Lees het bestand in brokken uit de documentmap

Lees het bestand uit de documentmap in brokken

Ik haal het bestandspad uit de documentmap en lees dat bestand in brokken van 1024 en sla het op (voeg het toe aan) het NSMutableData object of u kunt rechtstreeks naar socket schrijven.

// 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)")
        }
    }
}

Nadat het lezen van het bestand is voltooid, krijgt u de bestandsgegevens in de variabele ReadData Hier is outputFileHandle een object van FileHandle

var outputFileHandle:FileHandle?


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow