Zugriff auf Datei beenden

Status
Nicht offen für weitere Antworten.

klofisch

Mitglied
hallo,

ich habe folgendes Problem. Eine Methode erstellt eine XML-Datei im Temp-Ordner des Users. Diese Datei wird durch eine andere Methode verschickt. Leider klappt dies nur ein Mal. Wenn ich die Methode ein zweites Mal aufrufe bekomme ich Fehlermeldungen. Diese gehen erst weg wenn ich Eclipse beende, die Datei lösche und Eclipse wieder starte.

Ich denke dass der Zugriff auf die Datei nach dem ersten Sendevorgang nicht beendet wird. Wie kann ich das beheben?


Danke
Peter
 
Nein,...ich hab es zwar versucht,..aber es geht nicht..

hier ist die Methode zum erstellen der Datei.

Code:
	public Document main (float[] werte, String[] Kennzahl, String[] Spezifikation, String[] Einheit, String branche ) throws JDOMException, IOException {
		Document doc = new Document();
		Element elRoot = new Element("Branche");
		elRoot.setAttribute("Name", branche);
		doc.setRootElement(elRoot);
		Element[] xmlKennzahl = new Element[werte.length];
		Element[] xmlWerte = new Element[werte.length];
		Element[] xmlEinheit = new Element[werte.length];
		Element[] xmlSpezifikation = new Element[werte.length];
		for(int i=0;i<werte.length;i++){		
			//Kennzahlen werden in Elemente umgewandelt.
			xmlKennzahl[i]=new Element("Kennzahl");
			xmlKennzahl[i].setAttribute("Name", Kennzahl[i]);
			//Spezifikation werden in Elemente umgewandelt und den Kennzahlen als Children übergeben.
			xmlSpezifikation[i]=new Element("Spezifikation");
			xmlSpezifikation[i].setAttribute("Name", Spezifikation[i]);
			xmlKennzahl[i].addContent(xmlSpezifikation[i]);
			//Einheiten werden in Elemente umgewandelt und den Kennzahlen als Children übergeben.
			xmlEinheit[i]=new Element("Grenzwert");
			xmlEinheit[i].setAttribute("Einheit", Einheit[i]);
			xmlKennzahl[i].addContent(xmlEinheit[i]);
			//Werte werden in Elemente umgewandelt und den Grenzwerten als Children übergeben.
			xmlWerte[i]=new Element("Eingabe");
			xmlWerte[i].setAttribute("Wert", String.valueOf(werte[i])); 
			xmlEinheit[i].addContent(xmlWerte[i]);
			//Kennzahlen werden dem Rootelement zugeordnet.
			elRoot.addContent(xmlKennzahl[i]);
		}
		//Rootelement wird geschrieben.
		doc.setRootElement(elRoot);
		Format format = Format.getPrettyFormat(); // Besorgt das Standard-XML-Format
		format.setEncoding("iso-8859-1");
		//XML-Datei wird geschrieben.
		XMLOutputter xmlOut = new XMLOutputter(format);
		String tdir = System.getProperty ("java.io.tmpdir");/// Temp-Verzeichnisses des Benutzer wird ermittelt
		xmlOut.output(doc, new FileOutputStream(tdir+"\\kzahl.xml"));/// Datei kzahl.xml wird im Temp-Verzeichnisses des Benutzer erstellt
		System.out.println(tdir+"\\kzahl.xml");
//		FileReader data = new FileReader(tdir+"\\kzahl.xml");
//		data.close();
		return doc;
	}
 
was für fehlermeldungen kommen denn ?

ich würde die Methode auch nicht main nennen...
 
Schließ mal den FileOutStream am Ende:

Code:
...
FileOutputStream fos = new FileOutputStream(tdir+"\\kzahl.xml")
xmlOut.output(doc, fos);
fos.close();
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben