删除文本文件的内容

时间:2015-08-23 05:16:41

标签: swift read-write

我正在阅读和写入文本文件。有一个实例,我想删除文件的内容(但不是文件)作为一种重置。我怎么能这样做?

if ((dirs) != nil) {
    var dir = dirs![0]; //documents directory

    let path = dir.stringByAppendingPathComponent("UserInfo.txt");
    println(path)
    let text = "Rondom Text"

    //writing
    text.writeToFile(path, atomically: false, encoding: NSUTF8StringEncoding, error: nil)

    //reading
    let text2 = String(contentsOfFile: path, encoding: NSUTF8StringEncoding, error: nil)

    println(text2)

3 个答案:

答案 0 :(得分:7)

只需在文件中写一个空字符串,如下所示:

s.libraries = 'iconv'

答案 1 :(得分:3)

如果设置NSFileHandle,则可以使用-truncateFileAtOffset:,将偏移量设为0。

或者,正如评论中指出的那样,您只需将空字符串或数据写入文件即可。

或者您可以使用某种不需要手动截断文件的数据结构/数据库:)

答案 2 :(得分:2)

Swift 3.x

let text = ""
do {
     try text.write(toFile: fileBundlePath, atomically: false, encoding: .utf8)
} catch {
     print(error)
}

Swift 4.x

let text = ""
do {
     try text.write(to: filePath, atomically: false, encoding: .utf8)
   } catch {
     print(error)
   }