2013-03-07 12 views
10

Mi chiedevo come specificare un nome percorso relativo a un file di testo che è memorizzato nella mia cartella src di un progetto java. Vorrei memorizzare una stringa con il percorso di questo file di testo. Per esempio se avessi example.txt nella cartella src del mio progetto java, come potrei fare per trovare il suo percorso relativo? Lo sto facendo anche nel mio main, quindi ho problemi con l'uso di .getResource(). Come lo farei? Grazie.Percorso relativo al file di testo in Java principale?

Il mio percorso dei file è seguito dalle proprietà in Eclipse /MyProject/src/data.txt

ho provato:

percorso String = "/MyProject/src/data.txt" ;

Ma questo non funziona?

+1

Il file deve essere nel percorso relativo del file java/jar che verrà eseguito, non delle origini. –

+0

stai usando Android? o puro Java? – niculare

+0

plain old Java. – zProgrammer

risposta

15

Se si utilizza eclipse, posizionare il file di testo nella directory principale della cartella del progetto, al di fuori delle cartelle /src e /bin. Dovrebbe essere ora accessibile tramite un percorso relativo direttamente.

Se si desidera accedere a un file nella cartella src, è necessario aggiungere il prefisso di /src/ prima che il percorso del file/nome

+1

Questo è quello che stavo cercando. Posizionandolo all'esterno della cartella src ha funzionato. – zProgrammer

+0

siete i benvenuti – chiffa

+0

In windows per accedere al file a.txt nella cartella src usate "src/a.txt" non "/src/a.txt" –

3

Il percorso è relativo alla directory si esegue il command.e.g "java".

/opt/projects/myproject>$ java -cp <whatever your classpath is that contains your class files> com.mycompany.mypackage.MyJavaClass 

in questo caso il MyJavaClass sarebbe trovare i file relativi alla directory
/opt/progetti/myproject

C'è un altro modo per fare questo se ti piace: è possibile utilizzare le risorse di carico, che sono trovato tramite il meccanismo del percorso di classe.

getClass().getResource("foo.txt"); 

Si può vedere questo annuncio per maggiori informazioni

Preferred way of loading resources in Java

+1

non potete usare "questo" in un metodo statico – zProgrammer

+0

@zProgrammer I aggiornato: basta rimuovere il "questo" – javadba

7

Utilizzare il src/ prefisso prima il percorso del file/nome.

String path = "src/data.txt"; 
Problemi correlati