Purtroppo non è molto chiara la tua questione. La regola basilare è innanzitutto quella di non mettere mai path assoluti "cablati" nel sorgente. Il rischio è che funzioni solo su un certo S.O. e ancora peggio solo sulla tua macchina.
Se da codice vuoi rintracciare dei file, ci sono svariati modi e dipende anche da cosa sono concettualmente quei file.
Se sono file che "fanno parte" fissa della applicazione, es. immagini/icone/audio/ecc dovresti trattarli secondo il concetto delle "risorse", vedi i getResource/getResourceAsStream di java.lang.Class, se ne è parlato tante volte sul forum.
Se sono file di configurazione, di cui l'utente può non saperne/capirne nulla, si possono rintracciare in diversi modi:
- relativi alla directory "corrente".
- sotto directory "notevoli", come la "home" directory dell'utente che è rintracciabile da una system-property di Java.
- al limite con una variabile d'ambiente magari già esistente o una scelta da te. Ma richiede un minimo di setup sulla macchina.
Se sono file di dati arbitrari e noti all'utente, puoi farli scegliere dall'utente:
- tramite gli argomenti della applicazione (lo String[] args del main).
- tramite un chooser grafico es. JFileChooser di Swing.
La panoramica che ho fatto non è sicuramente completa. Devi solo stabilire prima cosa rappresenta un file e poi scegliere la tecnica per referenziarlo. Tutto qui.![]()