Ich habe einen Dateipfad als Zeichenfolge. Ich möchte:So behandeln Sie Symlinks beim Lesen von Daten aus einem Dateipfad in swift
- -Test, ob es eine Datei gibt
- Lesen Sie den Inhalt der Datei als String
das Problem, das ich habe, ist, dass manchmal, dass Dateipfad einen symbolischen Link beinhaltet (Symlink). Vielleicht zur Datei selbst. Vielleicht zu einem der Verzeichnisse über der Datei.
[EDIT] Schließen Sie dies, weil der folgende Code (mit dem ich begonnen habe), funktioniert eigentlich gut, es gab nur mehrere Ebenen von Benutzerfehler beteiligt. Danke für die Eingabe Leute.
func getUserResource(relativeFilePath: String) -> String? {
let fileManager = NSFileManager.defaultManager()
let userFilePath = NSHomeDirectory() + relativeFilePath
if(fileManager.fileExistsAtPath(userFilePath))
{
do {
return try String(contentsOfFile: userFilePath, encoding: NSUTF8StringEncoding);
} catch {
return nil;
}
}
return nil;
}
Ich habe gerade Ihren Code verwendet, um den Inhalt einer Textdatei über einen Symlink (erstellt mit 'ln -s') zu lesen und es hat funktioniert. Sind Sie sicher, dass dies Ihr Problem ist? – Moritz
Ist auch Ihre App Sandboxed? – Moritz
Warum prüfen Sie sogar explizit nach dem Vorhandensein? Versuchen Sie einfach, den Inhalt einzulesen und Datei-nicht-gefunden wie geeignet zu behandeln. – Tali