ho già letto Read and write data from text fileaggiungere testo o dati in file di testo a Swift
ho bisogno di aggiungere i dati (una stringa) alla fine del mio file di testo.
Un modo ovvio per farlo è leggere il file dal disco e aggiungere la stringa alla fine di esso e scriverlo di nuovo, ma non è efficiente, specialmente se si hanno a che fare con file di grandi dimensioni e spesso in esecuzione.
Quindi la domanda è "Come aggiungere una stringa alla fine di un file di testo, senza leggere il file e scrivere tutto indietro"?
Finora ho:
let dir:NSURL = NSFileManager.defaultManager().URLsForDirectory(NSSearchPathDirectory.CachesDirectory, inDomains: NSSearchPathDomainMask.UserDomainMask).last as NSURL
let fileurl = dir.URLByAppendingPathComponent("log.txt")
var err:NSError?
// until we find a way to append stuff to files
if let current_content_of_file = NSString(contentsOfURL: fileurl, encoding: NSUTF8StringEncoding, error: &err) {
"\(current_content_of_file)\n\(NSDate()) -> \(object)".writeToURL(fileurl, atomically: true, encoding: NSUTF8StringEncoding, error: &err)
}else {
"\(NSDate()) -> \(object)".writeToURL(fileurl, atomically: true, encoding: NSUTF8StringEncoding, error: &err)
}
if err != nil{
println("CANNOT LOG: \(err)")
}
difficile trovare questo senza usare la parola memoria: D;) – John