Beim Versuch, mit java.io.File auf eine Datei zuzugreifen, wird der Fehler „Das System kann den angegebenen Pfad nicht finden“ angezeigt , liegt es häufig an Problemen mit relativen Pfaden. In Java sind relative Pfade vom aktuellen Arbeitsverzeichnis abhängig, was im Java-Code schwer zu kontrollieren ist.
Lösung:
Anstatt relative Pfade mit Java zu verwenden. io.File, rufen Sie die Datei direkt aus dem Klassenpfad ab. Diese Methode stellt sicher, dass sich die Datei immer relativ zum Projektverzeichnis befindet, unabhängig vom aktuellen Arbeitsverzeichnis.
So erhalten Sie eine Datei aus dem Klassenpfad:
<code class="java">URL url = getClass().getResource("ListStopWords.txt"); File file = new File(url.getPath());</code>
Dieser Ansatz stellt sicher, dass die Der Speicherort der Datei ist innerhalb des Projekts konsistent, auch wenn das Projekt in eine JAR-Datei gepackt oder in einer anderen Umgebung bereitgestellt wird.
Alternative für Eingabestream:
Wenn Sie nur Wenn Sie einen Eingabestream für die Datei benötigen, können Sie Folgendes verwenden:
<code class="java">InputStream input = getClass().getResourceAsStream("ListStopWords.txt");</code>
Eigenschaftendateien:
Wenn es sich bei der Datei um eine Eigenschaftendatei mit Schlüssel-Wert-Paaren handelt, können Sie Folgendes verwenden kann es direkt in ein Properties-Objekt laden:
<code class="java">Properties properties = new Properties(); properties.load(getClass().getResourceAsStream("ListStopWords.txt"));</code>
Hinweis:
Wenn Sie in einem statischen Kontext auf die Datei zugreifen, verwenden Sie YourClass.class anstelle von getClass() .
Das obige ist der detaillierte Inhalt vonWie kann ich den Fehler „Das System kann den angegebenen Pfad nicht finden' bei der Verwendung relativer Pfade in Java-Projekten vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!