2013-03-07 24 views
10

Zastanawiam się, jak określić względną nazwę ścieżki do pliku tekstowego, który jest przechowywany w moim folderze src projektu Java. Chciałbym zapisać ciąg znaków ze ścieżką tego pliku tekstowego. Na przykład, gdybym miał plik example.txt znajdujący się w folderze src w moim projekcie java, w jaki sposób mógłbym znaleźć jego względną ścieżkę? Robię to również w moim głównym, więc mam problem z użyciem .getResource(). Jak to zrobić? Dzięki.Java względna ścieżka pliku tekstowego w głównej?

Moje pliki ścieżka jest jak następuje z właściwości w Eclipse /MyProject/src/data.txt

Próbowałem:

ścieżka String = "/MyProject/src/data.txt" ;

Ale to nie działa?

+1

Plik musi znajdować się we względnej ścieżce pliku java/jar, który zostanie wykonany, a nie ze źródeł. –

+0

używasz Androida? czy czysta Java? – niculare

+0

zwykły stary Java. – zProgrammer

Odpowiedz

15

Jeśli używasz zaćmienia, umieść plik tekstowy w katalogu głównym folderu projektu, poza folderami /src i . Powinno być teraz dostępne bezpośrednio poprzez ścieżkę względną.

Jeśli chcesz uzyskać dostęp do pliku w folderze src, trzeba dołączyć prefiks /src/ przed ścieżka do pliku/nazwa

+1

Tego właśnie szukałem. Założenie go poza folderem src. – zProgrammer

+0

serdecznie zapraszamy – chiffa

+0

W oknach w celu uzyskania dostępu do pliku a.txt w folderze src użyj "src/a.txt", a nie "/src/a.txt" –

3

Ścieżka jest w stosunku do katalogu wykonanie „Java” command.e.g.

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

w tym przypadku MyJavaClass znajdzie pliki względem katalogu
/opt/projekty/myproject

Nie ma innego sposobu, aby to zrobić, jeśli chcesz: można korzystać z zasobów obciążenia, które są znalezione za pomocą mechanizmu ścieżki klas.

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

Można zobaczyć ten komentarz, aby uzyskać więcej informacji

Preferred way of loading resources in Java

+1

nie możesz użyć "this" w statycznej metodzie – zProgrammer

+0

@zProgrammer I zaktualizowano: po prostu usuń "to" – javadba

7

Skorzystaj z src/ prefiks przed ścieżka do pliku/nazwy.

String path = "src/data.txt"; 
Powiązane problemy