Ver Mensaje Individual
  #4 (permalink)  
Antiguo 29/05/2006, 13:25
GreenEyed
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 21 años, 5 meses
Puntos: 51
Desde una clase pura y dura no es tan sencillo, desafortunadamente.

Existe la propiedad de sistema user.dir, que te dice el directorio desde el que se lanzo el programa (puede variar si se usa un acceso directo, si se lanza en linea de comandos o se lanza como servicio de sistema...)

Tambien existe una cosa que te permite, en algunos casos, averiguar la localizacion de una clase, usando getClass().getProtectionDomain().getCodeSource().g etLocation(), lo cual, a veces, te devolveria una URL que tendrías que interpretar para averiguar cual es el sitio desde el que se cargo esa clase.
Pero a veces a mi me devuelve null el protection domain y zas, no se puede.

Lo que se suele recomendar es usar directorios conocidos, como el directorio temporal, el directorio del perfil del usuario, o pasarle el directorio como propiedad o parametro a la aplicación.