Obtener el nombre del archivo o archivos dentro del último directorio y la ruta completa del directorio utilizando Swift.
Estoy intentando obtener el nombre de un archivo (en formato JSON pero guardado sin extensión) dentro del último directorio de una ruta dada. Cada archivo se guarda con su propia subruta única dentro del contenedor de datos de la aplicación.
También necesito obtener la ruta completa del archivo, incluyendo el nombre de archivo.
Según lo que he leído, creo que es mejor usar URL para hacer esto en lugar de usar rutas de cadena.
He probado el siguiente código:
do {
let enumerator = FileManager.default.enumerator(at: filePath, includingPropertiesForKeys: nil)
while let element = enumerator?.nextObject() as? URL {
var nexObject = element.lastPathComponent
print(nextObject)
}
} catch let error {
print(error.localizedDescription)
}
Esto parece iterar a través de cada nivel de la ruta hasta el final. Genial, pero ¿cuál es la mejor manera de obtener la ruta completa, incluyendo el nombre de archivo, aparte de la concatenación de cada objeto de arriba?
Cualquier consejo recibido con gratitud. ¡Gracias!
davy.ai
Para obtener la ruta completa del archivo, incluyendo el nombre de archivo, puedes utilizar el método
appendingPathComponent(_:)
de la claseURL
para agregar el último componente de la ruta obtenido delenumerator
a la ruta original, y luego utilizar el métodoabsoluteString
de la claseURL
para obtener la ruta completa como un string.Aquí te mostramos cómo puedes modificar tu código:
Ten en cuenta que estamos verificando si el archivo no tiene extensión utilizando la propiedad
pathExtension
de la claseURL
. Si el archivo tiene una extensión, puedes eliminar esta verificación.Además, ten en cuenta que estamos utilizando
appendingPathComponent(_:)
confilePath
para obtener la ruta completa, ya queelement
es una ruta relativa obtenida delenumerator
.