2017-07-17 3 views
0

Bitte i Textdateien sind mit einiger Verarbeitung in meinem Web-App zu tun,Textdateien Lage nach tomcat deployement

Aber wenn ich den Einsatz auf tomcat des Pfad geändert wird, und ich bin nicht in der Lage meines zugreifen Datei mehr

Meine Struktur ist wie folgt

[project structure

src Java-Klassen und Dateien enthält, enthält die Dateien, die ich zugreifen möchten.

ich bin Zugriff auf sie vor der Bereitstellung mit folgendem Pfad:

String filePath="files/P1.txt"; 

Aber nach dem Einsatz kann ich nicht mehr den Zugriff auf Dateien haben,

Wie kann ich den Pfad definieren, so wird es funktionsfähig sein nach der Bereitstellung?

Vielen Dank.

Antwort

0

Wenn die P1.txt direkt unter files/, das so weit ist, wie ich in Ihrem Bild sehen kann als Quellverzeichnis angebracht markiert, und ich erwarte, dass die Datei im Classpath der Wurzel entfernt werden soll und kann ohne files/ Pfadsegment zugegriffen werden. Um Dateien aus dem Classpath benötigen Sie den Classloader zu finden:

class MyClass { 
    public void readFile() { 
    // ... some logic 
    InputStream in = this.getClass().getClassLoader().getResourceAsStream("P1.txt"); 
    // ... some logic with the stream. 
    } 
} 

Um die Dateien im Classpath zu überprüfen und auch Zwecke für die Fehlersuche können Sie alle Dateien im Classpath Liste:

Enumeration<URL> rootFiles = this.getClass().getClassLoader().getResources(""); 

Eine leere Zeichenfolge, die an die Methode getResources übergeben wird, gibt die Dateien und Verzeichnisse im Stamm des Klassenpfads an. Sie sollten Ihre Datei dort sehen können.