
Max1809
Fortgeschrittenes Mitglied
- 6
Hallo miteinander,
ich habe ein merkwürdiges Problem.
In meiner App arbeite ich mit XML Dateien. In einer bestimmten Situation setze ich ein Flag in eine XML Datei.
Das geht auch grundsätzlich ganz gut. Nur wenn diese bestimmte XML Datei ein Leerzeichen im Namen hat, funktioniert folgender Codeteil nicht mehr:
Im "transformer.transform()" stürzt er immer ab.
Immer die "FileNotFound"-Exception. Kann aber nicht sein - die Datei ist 100% da.
Hier ein Auszug aus der Exception:
Kann mir jemand da helfen?
EDIT: Bitte Threadtitel auf "mit dem 'Transformer'" ändern. Ein Wort in voller Panik vergessen.
Der ursprüngliche Beitrag von 19:40 Uhr wurde um 19:56 Uhr ergänzt:
GELÖST
Falls noch jemand solche Probleme hat.
Dazu gibt es bereits einen Bug Report: https://bugs.eclipse.org/bugs/show_bug.cgi?id=194359
Die Lösung ist letztendlich, nicht direkt die "StreamResult" Klasse zu verwenden, sondern zunächst die "FileOutputStream".
Dazu meine Lösung:
ich habe ein merkwürdiges Problem.
In meiner App arbeite ich mit XML Dateien. In einer bestimmten Situation setze ich ein Flag in eine XML Datei.
Das geht auch grundsätzlich ganz gut. Nur wenn diese bestimmte XML Datei ein Leerzeichen im Namen hat, funktioniert folgender Codeteil nicht mehr:
Code:
Transformer transformer = TransformerFactory.newInstance()
.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
StreamResult result = new StreamResult(xmlNachricht);
DOMSource source = new DOMSource(doc);
transformer.transform(source, result);
Immer die "FileNotFound"-Exception. Kann aber nicht sein - die Datei ist 100% da.
Hier ein Auszug aus der Exception:
Wie gesagt, wenn die XML Datei keine Leerzeichen enthält, funktioniert es.javax.xml.transform.TransformerException: java.io.FileNotFoundException: /data/data/standard.meineapp/meineapp/unterverzeichnis%test/nachrichten(.xml)/Das%ist%eine%Testnachricht.xml: open failed: ENOENT (No such file or directory)
Kann mir jemand da helfen?
EDIT: Bitte Threadtitel auf "mit dem 'Transformer'" ändern. Ein Wort in voller Panik vergessen.

Der ursprüngliche Beitrag von 19:40 Uhr wurde um 19:56 Uhr ergänzt:
GELÖST
Falls noch jemand solche Probleme hat.
Dazu gibt es bereits einen Bug Report: https://bugs.eclipse.org/bugs/show_bug.cgi?id=194359
Die Lösung ist letztendlich, nicht direkt die "StreamResult" Klasse zu verwenden, sondern zunächst die "FileOutputStream".
Dazu meine Lösung:
Code:
Transformer transformer = TransformerFactory.newInstance()
.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
// StreamResult result = new StreamResult(xmlNachricht);
FileOutputStream fos = new FileOutputStream(xmlNachricht);
Result fileResult = new StreamResult(fos);
DOMSource source = new DOMSource(doc);
// transformer.transform(source, result);
transformer.transform(source, fileResult);