In Writer und Outputstream wird teilweise nicht geschrieben

Status
Nicht offen für weitere Antworten.

Junktyz

Mitglied
Hallo,

ich habe ein Problem mit einem Codefragment. Ich möchte eine XSL-Transformation machen und mache das mit folgendem Code.

Code:
try {
      // The XSLT Stylesheet is null if there is no one specified. In this case the Output must not be transformed.
      if(xsltSource != null) {  

        Source xmlSource = null;
        if( writer instanceof StringWriter) {
          xmlSource = new StreamSource( new StringReader(writer.toString()) );
        }
        // Write the Result into the writer. outs is an OutputStream
        writer= new OutputStreamWriter(outs);
        StreamResult transformedXmlResult = new StreamResult();
        transformedXmlResult.setWriter( writer );

        // Create a new instance of a TransformerFactory and create a special transformer with the given XSLT Stylesheet.
        TransformerFactory transFact = TransformerFactory.newInstance();
        Templates templates = transFact.newTemplates(xsltSource);
        Transformer trans = templates.newTransformer();
        // Perform the transformation.
        trans.transform(xmlSource, transformedXmlResult);
      } else {
        //...
      }
} catch (Throwable e) {
    writer.write("Some text");
}

ich hoffe der hilft jemanden weiter. Also jetzt zu meinem Problem.

Also ich habe einen StringWriter mit Namen writer. Dort stehen die nicht transformierten xml-Daten drin. Aus diesem hol ich mir den String und mache daraus die Quelle xmlSource für den Transformer.
Dann erstelle ich einen OutputStreamWriter, welcher in eine Datei schreibt. Dieser ist das Result transformedXmlResult des Transformers. Soweit so gut. Wenn ich gültige xml-Daten und ein gültiges Stylesheet habe, funktioniert auch alles wunderbar. Die transformierten Daten werden in den Writer geschrieben. Habe ich allerdings ein ungültiges Stylesheet, so wird in der Zeile 17 eine Exception geworfen. Diese fange ich ab und möchte anstatt der transformierten Daten einen Warnhinweis schreiben ( writer.write("Some text"); ). Allerdings wird dieser Text nicht geschrieben, zumindest erscheint er nicht in der Datei.

Weiß jemand auf Anhieb woran es liegen könnte. Ich blick da aktuell nicht durch.
 

Oli

Top Contributor
Hallo,

Durch das Werfen der Exception ist dein Code beendet. Somit steht dir der Writer nicht mehr zur Verfügung. Du solltest also vorher sicherstellen, das ein gültiges Stylesheet übergeben wird. Eine Exception ist kein Mittel um Überprüfungen auf Gültigkeit durchzuführen.

Grüße Oli
 

Junktyz

Mitglied
Der Writer wird schon im Methodenaufruf übergeben. Also die Referenz sollte noch vorhanden sein beim Exceptionwerfen.
 

Junktyz

Mitglied
Oli hat gesagt.:
Hallo,

Durch das Werfen der Exception ist dein Code beendet. Somit steht dir der Writer nicht mehr zur Verfügung. Du solltest also vorher sicherstellen, das ein gültiges Stylesheet übergeben wird. Eine Exception ist kein Mittel um Überprüfungen auf Gültigkeit durchzuführen.

Grüße Oli

Wie kann ich mit Java ein XSLT-Stylesheet validieren?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Tausendsassa Ycad dxf Reader/Writer Allgemeine Java-Themen 8
Tausendsassa Java dxf Writer Allgemeine Java-Themen 4
V StyledDocument mit Writer übergeben Allgemeine Java-Themen 8
J Writer und Threads Allgemeine Java-Themen 2
E PDF Writer, ein Problem Allgemeine Java-Themen 4
C OpenOffice Writer und Zeilenumbruch Allgemeine Java-Themen 4
F OpenOffice Writer in Java einbinden Allgemeine Java-Themen 8
H2SO3- welcher writer kann fileencoding UND append? Allgemeine Java-Themen 2
Dissi Itext - Anordnung von Elementen durch PDF Writer Allgemeine Java-Themen 2
zilti Wieso geht der StreamReader/Writer nicht? Allgemeine Java-Themen 5
P writer problem Allgemeine Java-Themen 3
W Mal ein paar generelle Fragen zu InputStream und OutputStream Allgemeine Java-Themen 4
T Input und Outputstream , serielle Schnittstelle Allgemeine Java-Themen 1
Meeresgott Input/Output OutputStream löscht Datei Allgemeine Java-Themen 7
F Jar OutputStream Allgemeine Java-Themen 4
T Outputstream write() gets blocked using RXTX to communicate with HC-05 BT Module Allgemeine Java-Themen 10
D Java Process OutputStream ist null Allgemeine Java-Themen 4
P Input/Output Process.getErrorStream = OutputStream Allgemeine Java-Themen 11
G Auf Kommandozeile über Processobjekt mit Outputstream Allgemeine Java-Themen 3
M rxtx OutputStream sendet falsche werte Allgemeine Java-Themen 3
L Abspeichern von OutputStream Allgemeine Java-Themen 6
E Outputstream an verschiedenen Positionen beschreiben Allgemeine Java-Themen 4
A Eigenen OutputStream schreiben und verwenden Allgemeine Java-Themen 9
D zip Dateien schreiben mit in/outputstream Allgemeine Java-Themen 10
S OutputStream via POST senden Allgemeine Java-Themen 4
T OutputStream to InputStream Allgemeine Java-Themen 8
W StringBuilder effektiv auf OutputStream schreiben Allgemeine Java-Themen 3
Landei CipherInput/OutputStream-Problem Allgemeine Java-Themen 2
S von OutputStream in InputStream schreiben ohne das es blockiert..? Allgemeine Java-Themen 2
G Double Wert über OutputStream verschicken Allgemeine Java-Themen 2
S outputstream über fileUrl Allgemeine Java-Themen 15
L Problem mit dem OutputStream eines Prozesses Allgemeine Java-Themen 9
G OutputStream to System.out Allgemeine Java-Themen 35
I input-/outputstream Allgemeine Java-Themen 6
reibi FileOutputStream aus OutputStream erstellen Allgemeine Java-Themen 7
H Problem mit OutputStream Allgemeine Java-Themen 5
T OutputStream - Prozente ermitteln Allgemeine Java-Themen 3
T OutputStream - Event bei Byte-Fluss Allgemeine Java-Themen 5
A Inputstream in Outputstream umleiten Allgemeine Java-Themen 7
D Cipher(In)OutputStream Allgemeine Java-Themen 3
R Ladebalken für einen Outputstream. Allgemeine Java-Themen 10
J Binärdateien mit Input/Outputstream lesen und schreiben Allgemeine Java-Themen 3
m@nu Schreibschutz entfernen und OutputStream öffnen Allgemeine Java-Themen 6
T Problem mit Outputstream? Allgemeine Java-Themen 2
N Lwjgl 3d Objekt wird schmaler, wenn es sich dreht Allgemeine Java-Themen 0
D Linux, Java-Version wird nicht erkannt bzw. welche Einstellung fehlt noch? Allgemeine Java-Themen 19
berserkerdq2 Wenn ich einfach eine GIF in den Scenebuilder als Bild reinpacke, wird das dann asl Gif angezeigt Allgemeine Java-Themen 1
G Popup wird nicht sichtbar Allgemeine Java-Themen 9
8u3631984 Funktions Parameter mit Lombok "NonNull" annotieren wird in Jacococ Testcoverage nicht herausgefiltert Allgemeine Java-Themen 3
M Java Überprüfen ob .exe-Datei bereits ausgeführt wird Allgemeine Java-Themen 2
Calli11 Was muss ich hier in die Main schreiben, damit das Programm ausgeführt wird? Allgemeine Java-Themen 4
Sachinbhatt Wie wird die Typumwandlung bei Mehrfachvererbung in Java implementiert? Allgemeine Java-Themen 3
Y MVVM wie wird Eventhandler tausch geregelt Allgemeine Java-Themen 4
berserkerdq2 run-methode eines Threads so programmieren, dass 30x die Sekunde etwas ausgeführt wird. Allgemeine Java-Themen 44
T ImageIcon wird nicht angezeigt Allgemeine Java-Themen 6
N Warum wird die For Schleife nicht betreten Allgemeine Java-Themen 4
N warum wird es doppelt ausgegeben Allgemeine Java-Themen 6
A code wird nicht ausgeführt Allgemeine Java-Themen 3
Y Warum wird das JLabel falsch verschoben? Allgemeine Java-Themen 1
T Schaltfläche wird nicht gefunden Allgemeine Java-Themen 4
N Eingabe wird immer als "false" ausgegeben Allgemeine Java-Themen 6
D Firebase retrieve data Problem, Child Element wird nicht angesprochen Allgemeine Java-Themen 0
M Frage-Antwortspiel wie Wer wird Millionär Allgemeine Java-Themen 1
Zrebna Gibt es eine Möglichkeit eine NPE zu vermeiden, wenn null returned wird? Allgemeine Java-Themen 3
R Warum wird mir in der Konsole das "Standard Array" ausgegeben? Allgemeine Java-Themen 2
C FileLock - Exception wird immer geworfen Allgemeine Java-Themen 4
R Was muss ich ändern, damit der Kreis links unten gezeichnet wird? Allgemeine Java-Themen 17
hello_autumn Java_Home geändert auf Java 13, trotzdem wird Java Version 8 angezeigt. Allgemeine Java-Themen 2
Thallius Char +1 wird int? Allgemeine Java-Themen 7
S Wenn eine Klasse zwei Interfaces mit derselben Methodensignatur implementiert: welche wird aufgerufen? Allgemeine Java-Themen 15
F Scrollbar wird nicht angezeigt Allgemeine Java-Themen 0
B Discord Bot - Funktion wird nicht aufgerufen Allgemeine Java-Themen 1
I Temp-Datei wird nicht gelöscht Allgemeine Java-Themen 12
S If-Menü wird doppelt ausgegben Allgemeine Java-Themen 4
P Variable wird in for - loop nicht richtig hochgezählt Allgemeine Java-Themen 11
S Wird bei den JREs 9, 10, 11+ ueberhaupt noch Bytecode ausgefuehrt..? Allgemeine Java-Themen 8
FRI3ND JFrame wird nicht angezeigt Allgemeine Java-Themen 3
T Plötzlich wird package nicht mehr gefunden Allgemeine Java-Themen 3
X Klassen File-Klasse wird als Directory markiert Allgemeine Java-Themen 8
S Datei wird nicht gefunden Thread.currentThread().getContextClassLoader().getResourceAsStream() Allgemeine Java-Themen 1
mrbig2017 Sleep wird ignoriert und der Thread wartet nicht Allgemeine Java-Themen 1
mrbig2017 Threads wait wird nicht durch notify beendet! Allgemeine Java-Themen 3
kodela Klassen Klassenvariable wird nicht gesetzt Allgemeine Java-Themen 23
M Was geschieht mit Java-Klasse, die aus ArrayList entfernt wird? Allgemeine Java-Themen 10
kodela Drücken der ALT-Taste wird nur bei jedem zweiten Mal erkannt Allgemeine Java-Themen 5
Arif Input/Output Serialisierung - Datei wird nicht erzeugt Allgemeine Java-Themen 3
D Cursor unsichtbar, wenn Kontextmenü aufgerufen wird Allgemeine Java-Themen 5
K Arbeitsspeicher wird langsam voll Allgemeine Java-Themen 6
The Pi Wie oft wird ein Buchstabe in einem Wort wiederholt? Allgemeine Java-Themen 16
N Datentypen If-Statement wird "übersprungen" Allgemeine Java-Themen 2
F Java Mail Problem: Authentifizierung wird nicht immer mitgeschickt Allgemeine Java-Themen 1
T Textarea text wird immer überschrieben Allgemeine Java-Themen 4
C Durch klicken von Button in GUI wird leeres Fenster geöffnet und nicht mein Spiel "Memory" Allgemeine Java-Themen 13
T Java wird nicht gefunden Allgemeine Java-Themen 32
Tacofan GIF-Bild wird "zerstört" Allgemeine Java-Themen 3
Z Exception wird nicht ausgelöst Allgemeine Java-Themen 2
Sin137 Interface Eingabe wird doppelt angezeigt Allgemeine Java-Themen 2
B Threads Timer wird immer schneller Allgemeine Java-Themen 6
N Maven ObjectMapper Error wenn das File gespeichert wird Allgemeine Java-Themen 0
G Methoden Aus einem Event, wo ich weiß, dass es ausgeführt werden wird, eine Get-Methode basteln Allgemeine Java-Themen 8

Ähnliche Java Themen

Neue Themen


Oben