我已经读过从文本文件中读取和写入数据
我需要将数据(字符串)附加到我的文本文件的末尾.
一种显而易见的方法是从磁盘读取文件并将字符串附加到它的末尾并将其写回,但效率不高,尤其是在处理大文件并经常进行时.
所以问题是"如何将字符串附加到文本文件的末尾,而不读取文件并将整个内容写回来"?
到目前为止我有:
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)")
}
Run Code Online (Sandbox Code Playgroud)