我需要将数据(字符串)附加到文本文件的末尾。
一种显而易见的方法是从磁盘读取文件,并将字符串附加到文件末尾再写回,但这种方法效率不高,尤其是在处理大型文件并经常处理的情况下。
因此,问题是“如何在不读取文件并将整个内容写回的情况下,将字符串附加到文本文件的末尾”?
到目前为止,我有:
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)")
}
慕运维8079593