Foro de elhacker.net

Programación => Java => Mensaje iniciado por: ignorantev1.1 en 26 Abril 2014, 05:48 am



Título: [Ayuda] "App.path" para Java.
Publicado por: ignorantev1.1 en 26 Abril 2014, 05:48 am
Buenas, jóvenes:

Disculpen si se trata de una duda muchas veces resuelta, pero anduve buscando por el foro y no encontré nada que me solucionara el asunto:

Ok, entonces, lo que pretendo es obtener la ruta hasta la aplicación (lo que en VB sería "App.path").

Estuve probando:

-> .getCanonicalPath()
-> .class.getProtectionDomain().getCodeSource().getLocation().getPath()
-> .getProperty("user.dir")
-> .getAbsolutePath()


Pero ninguna me resuelve el problema, el trayecto que me resulta, en la mayoría, es a la carpeta de usuario ("/home/usuario/"), y no hacia el directorio donde se ejecuta mi aplicación.

Con la aplicación quiero guardar datos en archivos y almacenarlos en la misma ruta de la aplicación.

Gracias por su atención. Saludos.


Título: Re: [Ayuda] "App.path" para Java.
Publicado por: Chuidiang en 26 Abril 2014, 11:59 am
Hola:

El directorio donde se ejecuta tu aplicación es System.getProperty("user.dir") que dices haber probado.

Una cosa es dónde se ejecuta la aplicación, que es lo que te da la propiedad anterior, y otra cosa es dónde está el jar de tu aplicación. Ambos directorios suelen coincidir si has arrancado el jar con un doble click, pero no necesariamente si arrancas de otra forma. No sé cual quieres porque en un lado mencionas "la ruta hasta la aplicación" y en otra "el directorio donde se ejecuta mi aplicación"

El directorio donde está tu aplicación puede ser más complejo de encontrar. Prueba con System.getProperty("java.class.path"). Ahí te dará una lista de directorios donde están los jar que se usan en tu aplicación, uno de ellos debería ser el tuyo.

Se bueno.


Título: Re: [Ayuda] "App.path" para Java.
Publicado por: ignorantev1.1 en 26 Abril 2014, 16:05 pm
Disculpa por mal explicarme, creí que la aplicación se ejecutaba en el mismo directorio que se encuentra el jar, pero ya vi que no.

Bueno, me refiero a la ruta a donde está el "jar".

Citar
System.getProperty("java.class.path")

¡Eso es!  ;D

Muchas, gracias, @Chuidiang.

¡Saludos!