【发布时间】:2015-02-04 06:47:30
【问题描述】:
我已经看过Read and write data from text file
我需要将数据(字符串)附加到文本文件的末尾。
一种明显的方法是从磁盘读取文件并将字符串附加到它的末尾并写回它,但它效率不高,特别是如果您正在处理大文件并且经常这样做。
所以问题是“如何将字符串附加到文本文件的末尾,而不读取文件并将整个内容写回”?
到目前为止我有:
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)")
}
【问题讨论】:
-
@John 你是什么意思?
标签: swift append text-files