2015-02-11 9 views
6

Ich las die Antwort dieser SO Links durchSo lesen und schreiben Sie Daten in eine Textdatei in Swift mit Playground?

1. Read a file/URL line-by-line in Swift

2. Read and write data from text file

Link 2 Vorausgesetzt, mir die Lösung, aber das Problem ist Verzeichnis. Es ist standardmäßig Dokumentverzeichnis des aktuellen Projekts.

Also, wenn ich eine Datei von "/Users/Prem/Desktop/File.txt" lesen möchte, welche Änderung sollte ich zu diesem Code machen?

Wie mit benutzerdefinierten Verzeichnis arbeiten, um Daten in einer Textdatei zu lesen und zu schreiben?

let dirs : [String]? = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.AllDomainsMask, true) as? [String] 

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

    //dir = "/Users/Prem/Desktop" ----> If i give this path, its not creating the file 

    //Current Value in dir 
    //dir ----> "/Users/Prem/Library/Containers/com.apple.dt.playground.stub.OSX.FileIO-2159807F-CC21-4545-AC34-AD9F9898796B/Data/Documents" 

    let path = dir.stringByAppendingPathComponent("File.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) 
} 
+0

Run, der Code, Richt 4 auf Zeile ausdrucken (nach 'lassen dir = ...') und es sollten Sie das Format, das Sie in das Verzeichnis String müssen sagen (Sie können und. wahrscheinlich sollte das gleiche für den Pfad tun) –

+0

Ordnen Sie einfach "let Pfad =/Pfad/zu/Ihre/Datei.txt" ... –

+0

@MartinR @MillieSmith: Die 'dir' Variable enthält '/ Benutzer/Prem/Library/Containers/com.apple.dt.playground.stub.OSX.FileIO-2159807F-CC21-4545-AC34-AD9F9898796B/Daten/Dateien' Aber wenn ich ersetzen Sie den Pfad zu: 'Benutzer/Prem/Desktop' oder irgendwo anders als die oben Pfad, es schreibt die Datei nicht. – iamprem

Antwort

7

Nach der Tage für Paare, die versuchen aus ist es klar, dass,

Wir sind nicht anders als die in sich geschlossene Verzeichnisse des Projekts zugreifen können, wenn wir auf dem Spielplatz ‚Datei-Handling‘ versuchen. Weil es sandboxed ist

Aber von einem xcode-Projekt können wir auf jedes Verzeichnis zugreifen und Lese-/Schreibvorgänge durchführen.

Credits: @robMayoff

Verwandte Themen