Mam następującą strukturę dla mojego projektu.Ścieżka pliku lub lokalizacja pliku dla języka Java - nowy plik()
w Eclipse:
myPorjectName
src
com.example.myproject
a.java
com.example.myproject.data
b.xml
W a.java
, chcę czytać b.xml
pliku. Jak mogę to zrobić? W szczególności, w a.java
używałem następujący kod:
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
Document doc = docBuilder.parse (new File("data/b.xml"));
Kod ten nie może znaleźć b.xml
. Jeśli jednak zmienię ścieżkę na src/com/example/myproject/data/b.xml
, to działa. Obecna lokalizacja wydaje się znajdować w katalogu głównym mojego pliku projektu.
Ale widzę inne przykłady ludzi, jeśli b.xml
i a.java
są w tym samym folderze, a następnie możemy bezpośrednio korzystać new File("b.xml")
. Ale próbuję wstawić b.xml
w tym samym folderze z a.java
, zamiast umieszczać w podfolderze, ale nadal nie działa. Jeśli to zadziała, to w moim przypadku powinienem móc użyć new File("data/b.xml")
, prawda? Naprawdę nie rozumiem, dlaczego to nie działa.
To najprawdopodobniej będzie bardziej jak 'getClass() getResourceAsInputStream ("/ com/example/myproject/data/b.xml");.' – MadProgrammer
To nie działa z powodu swojej ** domyślnym katalogu (czyli java wykonuje z) ** jest 'myPorjectName' to nie jest w' myproject' – xagyg
xagyg i komentarze MadProgrammer sprawiają, że rozumiem, dlaczego robiłem to źle. Dzięki chłopaki. Poniższa odpowiedź sprawia, że uczę się czegoś więcej. – Joey