Dire semplicemente "sul desktop" non è sufficiente: su un sistema vi possono essere più desktop, almeno uno per utente, se il desktop è previsto... se non è previsto un sistema grafico molto probabilmente non c'è nemmeno un desktop.
Di questo devi tenere conto.

E' più facile, piuttosto, fare riferimento alla directory "home" dell'utente o alla directory dove risiede il programma (o una sua sub-directory).

Per ottenere la "home" dell'utente, c'è un'apposita property di sistema:

codice:
String pathHomeUtente = System.getProperty("user.home");

Per ottenere la directory dell'applicazione puoi chiamare questo metodo all'interno di una tua classe:

codice:
String appDir = new File(getClass().getProtectionDomain().getCodeSource().getLocation().getPath()).getParent();

(mai provato, ma dovrebbe funzionare)


Ciao.