tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
890
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Fools Fools ist offline Mitglied Bronze
    Registriert seit
    Aug 2010
    Beiträge
    26
    Hallo Javanesen!

    Ich erhalte leider eine Fehlermeldung (FileNotFoundException), wenn ich versuche eine von mir angelegte Property-Datei zu lesen. Und im Moment weiß ich leider nicht was ich falsch mache.

    Der Dateiname der Property-Datei:
    DBConnectionUsingDMC.properties

    Der Java-Code, der versucht die Datei zu laden/lesen:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    try
    {
      BufferedInputStream stream = new BufferedInputStream(new FileInputStream("DBConnectionUsingDMC.properties"));
    }
    catch (FileNotFoundException exc)
    {
      exc.printStackTrace();
    }

    Der Debugger springt auch gleich in den catch-Block rein.

    Was mache ich falsch?

    Sowohl die Property-Datei als auch die Java-Klasse mit dem o. g. Code befinden sich in einem von mir angelegten Package namens "model" im Source-Ordner (src).


    Für Hilfe wäre ich euch dankbar.

    EDIT:
    Das habe ich auch schon versucht mit demselben Ergbnis:
    Code :
    1
    
    BufferedInputStream stream = new BufferedInputStream(new FileInputStream("src/model/DBConnectionUsingDMC.properties"));

    Und das hier:
    Code :
    1
    
    FileInputStream stream = new FileInputStream("src/model/DBConnectionUsingDMC.properties");

    Die Datei liegt definitiv im Verzeichnis:
    src/model/DBConnectionUsingDMC.properties
    Geändert von Fools (21.09.10 um 18:26 Uhr)
     

  2. #2
    Fools Fools ist offline Mitglied Bronze
    Registriert seit
    Aug 2010
    Beiträge
    26
    Ein paar zusätzliche Informationen:

    Mein Projekt - ein Dynamic Web Project - entwickle ich mit Eclipse Java EE IDE. Im Hintergrund läuft ein Apache Tomcat 6.0.29-Server, der mein Java-Code verarbeitet.

    Ich hab nämlich jetzt mal ein normales Java-Projekt in Eclipse erstellt (ohne dass es von einem Server im Hintergrund verarbeitet werden muss) und und in diesem Projekt das Package (model) und die gleiche Datei (DBConnectionUsingDMC.properties) erstellt. Hier kann ich ohne Probleme auf die Datei zugreifen mit:

    Code :
    1
    
    FileInputStream stream = new FileInputStream("src/model/DBConnectionUsingDMC.properties");


    Gibt es irgendeine Java-Methode, mit der ich abfragen kann in welchem aktuellen Verzeichnis sich die ausführende Java-Klasse gerade befindet?
     

  3. #3
    twagi1232010 Tutorials.de Gastzugang
    Hi,

    wenn Deine Datei immer im Classpath liegt, kannst Du sie auch direkt daraus laden.

    z.B. mit

    this.getClass.getResourceAsStream("DBConnectionUsingDMC.properties")

    Vielleicht hilft Dir das weiter.

    Gruß twagi
     

  4. #4
    Fools Fools ist offline Mitglied Bronze
    Registriert seit
    Aug 2010
    Beiträge
    26
    Danke twagi1232010.

    Das hat geklappt.

    Noch ne kleine Frage: Klappt der Aufruf auch dann noch, wenn die Anwendung auf einem Apache Tomcat Server produktiv geht oder muss ich bedenken haben, dass er dann die Datei wieder nicht findet? Ich hab gestern festgestellt, dass ich mich mit diesen ganzen Pfaden irgendwie nicht auskenn...
     

  5. #5
    twagi1232010 Tutorials.de Gastzugang
    Hi,

    solange Deine Property-Datei im Classpath liegt sollte sie immer gefunden werden. Auch wenn Du alles auf Deinem Tomcat deployst.

    Gruß twagi
     

Ähnliche Themen

  1. In Java eine Properties Datei signieren
    Von ScoopDTN im Forum Java
    Antworten: 0
    Letzter Beitrag: 15.12.10, 11:00
  2. Fehler beim lesen von txt datei
    Von curzon_d im Forum .NET Datenverwaltung
    Antworten: 1
    Letzter Beitrag: 02.09.05, 10:37
  3. Antworten: 0
    Letzter Beitrag: 23.07.05, 13:44
  4. Antworten: 1
    Letzter Beitrag: 28.04.05, 19:22
  5. Antworten: 12
    Letzter Beitrag: 02.07.04, 11:09