Usos del metodo normalize() de la clase java.nio.file.Path
Hola alguien podria explicarme para que podría ser útil normalizar una ruta, bueno más bien como aplicarlo porque si se que que es útil en cuanto a que la ruta sea más corta y no maneje cosas redundantes como el "." (directorio actual) o el ".." (directorio padre) y obtenga el mismo resultado, pero un ejemplo práctico de su uso en una aplicación de la vida diaria ?
Path ruta = Paths.get("C:\\carpeta\\..\\carpeta2\\carpetaN\\carpetaS\\..\\..\\..\\carepta3\\carpeta4");
System.out.println(ruta.normalize());
System.out.println(ruta.normalize());
obtengo la siguiente salida:
C:\carepta3\carpeta4
pero mi duda es porque cada que encuentra ".." tambien se lleva el directorio padre de forma recursiva y cual sería su utilidad ?
- Inicie sesión o regístrese para enviar comentarios
Evaluación.
Creo que la cosa es simple, no es que se lleva al directorio padre, es que por ejemplo:
C:\Users\.. = C:\
Por qué cuando encuentra un ".." le dices: "Ve y busca el padre de Users".
De modo que si vas reemplazando:
C:\\carpeta\\.. = C:\
C:\\carpeta\\..\\carpeta2 = C:\carpeta2
C:\\carpeta\\..\\carpeta2\\carpetaN\\carpetaS\\ = C:\carpeta2\carpetaN\carpetaS
C:\\carpeta\\..\\carpeta2\\carpetaN\\carpetaS\\.. = C:\carpeta2\carpetaN
C:\\carpeta\\..\\carpeta2\\carpetaN\\carpetaS\\..\\.. = C:\carpeta2
C:\\carpeta\\..\\carpeta2\\carpetaN\\carpetaS\\..\\..\\.. = C:\
C:\\carpeta\\..\\carpeta2\\carpetaN\\carpetaS\\..\\..\\..\\carpeta3\\carpeta4 = C:\carpeta3\carpeta4
Puedes tratar en línea de comandos.
Y el objetivo de normalize es justo ese, darte la ruta directa y absoluta. Aquí puedes encontrar información muy detallada de las operaciones sobre el path.
Saludos.
Gracias
De ahí saque la info pero creo que traducí o interprete mal.