2015-08-23 25 views
6

Ich lese und schreibe in eine Textdatei. Es gibt eine Instanz, wo ich den Inhalt der Datei (aber nicht die Datei) als eine Art Reset löschen möchte. Wie kann ich das machen?Inhalt der Textdatei löschen

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) 
+0

Haben Sie einen Fehler mit Ihrem Code erhalten? – Bannings

+0

Nichts ist falsch mit dem obigen Code. Ich möchte nur wissen, wie man den Inhalt der Datei löscht ... d. H. Hier schreibe ich in die Datei und dann drückt der Benutzer Zurücksetzen, so dass die Datei leer wird. – TurtleFan

+1

'" .writeToFile (path, atomically: false, Codierung: NSUTF8StringEncoding, error: nil) 'Die Datei wird gelöscht. – Bannings

Antwort

5

einfach eine leere Zeichenfolge in die Datei wie folgt schreiben:

let text = "" 
text.writeToFile(path, atomically: false, encoding: NSUTF8StringEncoding, error: nil) 
2

Wenn Sie eine NSFileHandle einrichten, können Sie -truncateFileAtOffset: verwenden, 0 für den Offset vorbei.

Oder, wie in Kommentaren erwähnt, können Sie einfach eine leere Zeichenfolge oder Daten in die Datei schreiben.

Oder können Sie irgendeine Art von Datenstruktur/Datenbank verwenden, die Sie manuell nicht erforderlich ist, um Dateien gestutzt :)

1

Swift 3.x

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

Swift 4.x

Verwandte Themen