Recherche…


Introduction

Lire le fichier en morceaux à partir du répertoire du document

Lire le fichier du répertoire de documents en morceaux

J'obtiens le chemin du fichier depuis le répertoire du document et je lis ce fichier en morceaux de 1024 et enregistre (ajoute) dans l'objet NSMutableData ou vous pouvez directement écrire dans le socket.

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

Après la lecture complète du fichier , vous obtenez des données de fichiers dans ReadData variables Ici outputFileHandle est un objet de FileHandle

var outputFileHandle:FileHandle?


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow