Solución:
Si tiene una tilde en su camino, puede intentar esto:
let location = "~/file.txt".stringByExpandingTildeInPath
let fileContent = NSString(contentsOfFile: location, encoding: NSUTF8StringEncoding, error: nil)
de lo contrario, solo usa esto:
let location = "/Users/you/Desktop/test.txt"
let fileContent = NSString(contentsOfFile: location, encoding: NSUTF8StringEncoding, error: nil)
Esto le da una representación de cadena del archivo, que asumí que es lo que desea. Puedes usar NSData(contentsOfFile: location)
para obtener una representación binaria, pero normalmente lo haría para, digamos, archivos de música y no un archivo de texto.
Actualización: con Xcode 7 y Swift 2 esto ya no funciona. Ahora puedes usar
let location = NSString(string:"~/file.txt").stringByExpandingTildeInPath
let fileContent = try? NSString(contentsOfFile: location, encoding: NSUTF8StringEncoding)
Esto funcionaría:
let path = "~/file.txt"
let expandedPath = path.stringByExpandingTildeInPath
let data: NSData? = NSData(contentsOfFile: expandedPath)
if let fileData = data {
let content = NSString(data: fileData, encoding:NSUTF8StringEncoding) as String
}
Tenga en cuenta que data
puede ser nulo, por lo que debe verificarlo.
EDITAR: No olvide el desenvolvimiento condicional: se ve mucho mejor;)
let file = "/Users/user/Documents/text.txt"
let path=URL(fileURLWithPath: file)
let text=try? String(contentsOf: path)
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)