FileOutputStream.write

  • Themenstarter Themenstarter Fryhstyxei
  • Beginndatum Beginndatum
F

Fryhstyxei

Gast
Hallo,

in meiner Methode befindet sich folgende if-Abfrage:

Java:
	if(!file.exists())
		{
			neu = true;
			file.createNewFile();
			fs = new FileOutputStream(file, true);
			byte[] b = "<Objects>".getBytes();
			
			fs.write(b);
			fs.flush();
			fs.close();
		}

Heißt also im Klartext: Wenn es die Datei noch nicht gibt, erstelle sie und schreibe "<Objects>" an den Anfang der Datei. Ich sitze hier schon seit einer Stunde und versuche herauszufinden, warum fs.write(b) nicht ausgeführt wird, solange es in einem if-Statement steht. Schreibe ich es außerhalb der if-Klammer, wird es ausgeführt. Problem ist nur: Dann wird an die Datei immer ein <Objects> drangehangen, was nicht passieren soll.

P.S.: Super, endlich mal ein Board ohne Registrierungs-Zwang!

Weiß jemand Rat?
 
ich habs etz so verstanden das du nur den inhalt der datei mit "<Objects>" überschreiben willst oder?
du fragst ja gar nicht was drin steht...
dann schreib doch einfach:
Java:
            fs = new FileOutputStream(file);
            byte[] b = "<Objects>".getBytes();
            
            fs.write(b);
            fs.flush();
            fs.close();
dann wird wenn die datei wenn sie existiert überschrieben und wenn nicht wird sie angelegt.
zu deiner ürsprünglichen frage fällt mir jetzt auch nicht ein...
 
Hallo,

habe mich dann doch mal registrieren, nach dem ich mich hier mal umgesehen habe. Ist n super Forum 🙂.

Nein, der Inhalt musste auch nicht abgefragt werden. Existiert die Datei nämlich, wird sie auch direkt mit Inhalt beschrieben, da sie erst nach dem Eingeben von Daten erzeugt wird. Deswegen hatte "file.exists()" gereicht.

Das Problem hat sich aber gelöst. War ein Fehler im Zusammenhang mit XStream.
 

Neue Themen


Zurück
Oben