Quote Originariamente inviata da roquentin Visualizza il messaggio
Nel codice java, faccio riferimento a questa cartella in questo modo (per esempio)
codice:
File dir = new File("dirIniziale\\Africa-Asia");
quindi parto sempre da "dirIniziale" e credevo andasse bene perchè un percorso relativo.
Invece non riesco a fargli vedere questa cartella:
Dove sbaglio?
Percorsi "assoluti" cablati nei sorgenti, assolutamente no, non ci vanno (se non per test/prove iniziali o fatte al volo).
Percorsi "relativi" sì, vanno bene ma .... se sono relativi lo sono rispetto a qualcosa. Di per sé, un percorso relativo viene visto da File come relativo alla directory "corrente", che è semplicemente quella che è corrente nel momento in cui la JVM viene lanciata (ogni processo nativo ha il concetto di directory corrente).

Quindi: puoi fare in modo che la esecuzione della tua applicazione sia tale per cui la directory corrente si corretta per fare da "base" alla tua "dirIniziale" ? Questo dipende solo da chi/come lancia la applicazione.

Se la applicazione viene sempre lanciata con java -jar, allora il pathname del jar è facilmente rintracciabile.