Axel Richter: Datei vorhanden???

Beitrag lesen

Hallo,

ich ermittle den pfad und dann den dateinamen anhand von parametern, dann öffne ich die datei. Diese datei ist ein serialisiertes object.
Dann

Stopp! Da fehlt doch was.

FileInputStream fs = new FileInputStream("xyz.ser");
Hier kannst Du eine FileNotFoundException abfangen. Bei Auftreten dieser Exception ist die Datei nicht vorhanden.

Wenn Du den Stream öffnest, bevor Du Deine Funktion aufrufst, kannst Du bei Vorhandensein der Datei die Funktion aufrufen und dieser den Stream als Argument übergeben, bei Nichtvorhandensein rufst Du eine andere Funktion auf, die den gewünschten String übergibt.

Wenn Du den Stream unbedingt innerhalb der Funktion öffnen musst, kannst Du bei Auftreten der FileNotFoundException ein Rückgabeobjekt erstellen, das auf die Tatsache, dass die Datei nicht vorhanden war, hinweist. Die Klasse ReturnDataContainer kenne ich nicht, weiß also nicht, was mit der alles möglich ist.

ObjectInputStream is = new ObjectInputStream(fs);
    .
    ReturnDataContainer rDCFile = null;
    .
    rDCFile = (ReturnDataContainer)is.readObject();
  }
 }

catch (Exception e){

Alle Ausnahmen in einem catch-Statement abzuangen ist _nie_ eine gute Idee. Du versperrst Dir dadurch die sinnvolle Nutzung der Ausnahmen.

System.out.println("Fehler beim lesem " +e);
    e.printStackTrace();
    }

return rDCFile;

viele Grüße

Axel