2011-02-25 13 views
6

¿Cómo resolvería una ruta relativa? Lo que estoy buscando es una función similar a realpath de php. La función solo necesita eliminar todos ../ ./ para que la cadena de entrada se pueda usar con seguridad con otras cadenas.Ruta relativa de resolución de Java

Respuesta

4

Como mencionas PHP, asumiré un contexto web. Con la API de Servlet se puede obtener un camino real que corresponde a una ruta relativa usando servletContext.getRealPath(relativePath)

fuera de un contexto web se puede utilizar file.getAbsolutePath(), donde file es java.io.File construido con una ruta relativa.

+0

en realidad estoy buscando una función genérica ... debe haber algo como esto. – Pass

+0

@Pass - ver actualizado – Bozho

2

Sé que aún no está en producción, pero en Java 7 uno llamaría al Path.resolve(Path).

Solo un mano a mano.

+1

más o menos, Path.resolve simplemente hace una unión inteligente de dos partes de una ruta. p.ej. ruta de acceso + nombre de archivo, más algunos otros trucos. "este método se une a la ruta dada a esta ruta y devuelve una ruta resultante que termina con la ruta dada". –