Ich habe die folgende Struktur für mein Projekt.Dateipfad oder Dateipfad für Java - neue Datei()
in Eclipse:
myPorjectName
src
com.example.myproject
a.java
com.example.myproject.data
b.xml
In a.java
möchte ich b.xml
Datei lesen. Wie kann ich das machen? Insbesondere in a.java
, habe ich den folgenden Code:
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
Document doc = docBuilder.parse (new File("data/b.xml"));
Dieser Code nicht b.xml
finden. Wenn ich jedoch den Pfad zu src/com/example/myproject/data/b.xml
ändere, funktioniert es. Der aktuelle Speicherort scheint im Stamm meiner Projektdatei zu liegen.
Aber ich sehe andere Beispiele von Menschen, wenn b.xml
und a.java
im selben Ordner befinden, dann direkt new File("b.xml")
verwenden wir können. Aber ich versuche b.xml
in den gleichen Ordner von a.java
anstatt in den Unterordner setzen, aber es funktioniert immer noch nicht funktioniert. Wenn das funktioniert, dann sollte ich in der Lage sein, new File("data/b.xml")
zu verwenden, oder? Ich verstehe wirklich nicht, warum das nicht funktioniert.
Es ist höchstwahrscheinlich eher wie 'getClass() sein würde getResourceAsInputStream ("/ com/example/myproject/data/b.xml");.' – MadProgrammer
Es funktioniert nicht, weil Ihr ** Standardverzeichnis (das Java wird ausgeführt von) ** ist 'myPorjectName' Es ist nicht in' myproject' – xagyg
xagyg und MadProgrammers Kommentare lassen mich verstehen, warum ich es falsch gemacht habe. Danke Jungs. Die folgende Antwort bringt mich dazu, etwas mehr zu lernen. – Joey