Hola:
System.getProperty("user.dir") te devuelve el directorio actual de ejecución. No es necesariamente en el que está el fichero .java, sino el directorio en el que se ha arrancado el programa. ¿te vale ese?
En
http://java.sun.com/javase/6/docs/ap...etProperties() tienes una lista de posibles propiedades.
Se bueno.