InputStream öfters nutzen

Status
Nicht offen für weitere Antworten.

WeirdAl

Bekanntes Mitglied
Hallo,
ich muss im Rahmen eines Servlets den request.inputStream mehrfach auslesen. Muss ich mit mark() und reset() arbeiten oder kann ich einen InputStream erzeugen, der nach dem auslesen des Streams automatisch an den Anfang wieder zurück springt?
 

Marco13

Top Contributor
Man könnte zwar einen InputStream implementieren, der das gewünschte Verhalten aufweist, aber letztendlich wäre das entweder schrecklich aufwändig, oder würde auch wieder auf mark&reset zurückgreifen. (D.h man könnte einen InputStream implementieren, der alle methoden an den darunterliegenden InputStream weiterreichst (d.h. an den, den du jetzt verwendest) und "selbstständig" das mark&reset ausführt, wenn er am Anfang bzw. Ende angekommen ist...
 

mikachu

Top Contributor
oder lies den gesamten content des intputstreams in einen bytearray ein, und öffne dann auf diesen immer wieder einen neuen stream zum lesen :)
 

WeirdAl

Bekanntes Mitglied
Danke für die Tipps. Ich habe es mit dem letzten Tipp versucht, jedoch bekomme ich Probleme bei größeren Streams. Zur Zeit sieht der Code zum "umkopieren" folgendermaßen aus:

Code:
byte[] inByte = new byte[request.getContentLength()];
		InputStream sin = request.getInputStream();
		sin.read(inByte);

Bei kleinen XML Dateien (das sind die Streams) klappt dies sehr gut. Sobald es sich jedoch um eine große Datei handelt, steht ab einer bestimmten Position nur noch Müll im byte Array:

Code:
</material>
		<material number="000000000000015011">
			<ean11>000000000 <- ab hier nur noch ewig viele "Vierecke" ......

Habt Ihr eine Idee wo dran dies liegen könnte?

Edit: ich benutze den ServletInputStream als ByteArrayInputStream weiter. Könnte dies das Problem sein und wenn ja, wie kann ich dieses lösen?

Code:
InputStream in = new ByteArrayInputStream(inByte);
 
T

tuxedo

Gast
Du musst unter Umständen read() mehrfach ausführen. Schau doch mal mit sin.available() wieviele bytes gelesen werden können?!

- Alex
 

WeirdAl

Bekanntes Mitglied
Das mit dem available ist ne gute Idee, danke :)

@Maki: Ich schick von einem Client A per HTTP Post einen XML Stream an das Servlet. Das Servlet liest den Inputstream aus und validiert diesen Stream mit einem Schema. Falls dies erfolgreich war, wird der InputStream an einen Server B weitergeleitet. Ich muss praktisch 1x den Stream zum validieren und 1x zum weiterleiten (umwandeln Input- in OutputStream) auslesen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
X Input/Output InputStream/Scanner(System.in) read()/hasNextLine() block unterbrechen Allgemeine Java-Themen 7
krgewb Problem mit Umlauten und Eszett bei InputStream Allgemeine Java-Themen 3
W Mal ein paar generelle Fragen zu InputStream und OutputStream Allgemeine Java-Themen 4
L Input/Output InputStream öffnen? Allgemeine Java-Themen 12
P Input/Output Inputstream verhält sich verschieden Allgemeine Java-Themen 9
R Inputstream lesen mit Pointer Allgemeine Java-Themen 0
M InputStream auslesen Allgemeine Java-Themen 1
M String aus InputStream Allgemeine Java-Themen 3
C Threading mit BufferedReader/InputStream & sockets Allgemeine Java-Themen 0
B BufferedWriter in InputStream oder Zeichen-Stream in Byte-Stream Allgemeine Java-Themen 5
P Scanner als Inputstream für Java Prozess Allgemeine Java-Themen 4
E POI-InputStream selber wählen Allgemeine Java-Themen 2
S RandomAcessFile das einen InputStream wrappt..? Allgemeine Java-Themen 2
M Umwandlung ByteArrayOutputStream in InputStream Allgemeine Java-Themen 5
1 InputStream hängt Allgemeine Java-Themen 4
H Input/Output InputStream: 32-Bit-Ganzzahl (DWORD) binär lesen Allgemeine Java-Themen 5
D Datentypen Reader/InputStream wiederverwenden? Allgemeine Java-Themen 11
K Inputstream -> Bilder Allgemeine Java-Themen 23
1 InputStream liest die letzte Zeile nicht ein Allgemeine Java-Themen 2
J Java Datei aus FTP in ein INputstream Allgemeine Java-Themen 2
J InputStream Zip-File Allgemeine Java-Themen 3
F ImageIO cant create InputStream Allgemeine Java-Themen 9
S InputStream "weiterleiten" Allgemeine Java-Themen 12
T Integer aus InputStream lesen Allgemeine Java-Themen 3
T Undwandlung eines String in einen InputStream? Allgemeine Java-Themen 3
M Selbst geschriebener InputStreamReader über einen beliebigen InputStream Allgemeine Java-Themen 4
T OutputStream to InputStream Allgemeine Java-Themen 8
S von OutputStream in InputStream schreiben ohne das es blockiert..? Allgemeine Java-Themen 2
reibi BufferedImage nach InputStream Allgemeine Java-Themen 10
R InputStream zweimal lesen Allgemeine Java-Themen 2
G InputStream und File Allgemeine Java-Themen 11
B InputStream zu URL umwandeln Allgemeine Java-Themen 2
F Teile vom InputStream schreiben Allgemeine Java-Themen 9
J InputStream aus URL funktioniert nicht Allgemeine Java-Themen 7
H InputStream Problem mit externem Kommandozeilenprogramm Allgemeine Java-Themen 2
R The mark method of InputStream does nothing. Allgemeine Java-Themen 4
V String oder doch InputStream? Allgemeine Java-Themen 9
A Inputstream in Outputstream umleiten Allgemeine Java-Themen 7
Nils_Langner InputStream soll sich bei neuen Daten melden Allgemeine Java-Themen 2
R InputStream - seltsamer Output Allgemeine Java-Themen 2
S java.io.InputStream.read(byte[] b) überschreiben Allgemeine Java-Themen 33
N InputStream erst ab gegebener Position Allgemeine Java-Themen 4
R InputStream Allgemeine Java-Themen 5
G InputStream kopieren? Allgemeine Java-Themen 6
D Inputstream aus StringBuffer Allgemeine Java-Themen 3
G inputstream() to imageicon() Allgemeine Java-Themen 7
D Durch OutpustStream und InputStream dateien in eine jar sch Allgemeine Java-Themen 3
G aus String einen InputStream erstellen Allgemeine Java-Themen 2
C Wie kann man im InputStream nach einer Zeichenkette suchen? Allgemeine Java-Themen 4
R Aus InputStream wieder eine Datei erzeugen? Allgemeine Java-Themen 2
N String als Inputstream Allgemeine Java-Themen 4
N Suchen in InputStream/ByteArrayOutputStream Allgemeine Java-Themen 11
M InputStream.read abbrechen Allgemeine Java-Themen 2
Zrebna Wieso sollte man Null-Prüfungen nicht mit Optional-Objekten nutzen? Allgemeine Java-Themen 13
berserkerdq2 Shapes als Buttons nutzen, schlechter Programmierstyle? Allgemeine Java-Themen 1
B HTTP Allgemeine Fragen über Suchmaschine nutzen mit Java Allgemeine Java-Themen 20
M pfx-Zertifikat in Tomcat für SSL-Verschlüsselung nutzen Allgemeine Java-Themen 14
berserkerdq2 Threads, wie genau läuft das in Java ab? (Ich kann Threads erstellen und nutzen, nur das Verständnis) Allgemeine Java-Themen 6
X Java gewerblich nutzen mit externe Bibliothek. Was zu beachten? Allgemeine Java-Themen 18
F Junit Test + Cucumber - JSON auslesen und in einem weiteren Schritt nutzen Allgemeine Java-Themen 0
xYurisha Nutzen von Importmethoden bei Klasseninstanzen Allgemeine Java-Themen 12
Neumi5694 Best Practice Vorhandene Programminstanz nutzen Allgemeine Java-Themen 3
S Eclipse Github Projekt in eigenes Projekt einbinden und nutzen Allgemeine Java-Themen 13
R Variable durch mehrere Methoden ändern und nutzen Allgemeine Java-Themen 17
I Programm im Hintergrund bei Windows zur Steuerung der Tastatur nutzen Allgemeine Java-Themen 2
Neumi5694 Offenes Programm nutzen Allgemeine Java-Themen 4
T javax.script (JavaScript): Nicht-JRE-Packages importieren/nutzen Allgemeine Java-Themen 4
S Welche Nutzen bringen Lamda Expressions? Allgemeine Java-Themen 1
B Lua als Konfigurationsdatei nutzen - ein Krampf Allgemeine Java-Themen 4
F Über Java Google Suche nutzen Allgemeine Java-Themen 11
A COM und JAVA nutzen Allgemeine Java-Themen 1
J C++ Projekt (QT) in Java mit Klassen (nicht imperativ) nutzen (BridJ? JavaCPP? SWIG? JNA? JNI?) Allgemeine Java-Themen 2
D Nutzen, erst deklarieren, oder neu erstellen? Allgemeine Java-Themen 11
S lp_solve mit Java nutzen - Can't find dependent libraries Allgemeine Java-Themen 8
T HTTP HttpWebRequest in Swing-Projekt nutzen Allgemeine Java-Themen 4
M DLL aus jar extrahieren und als lib nutzen Allgemeine Java-Themen 24
G RXTX in proprietärer Software nutzen?! Allgemeine Java-Themen 10
C Variablen Variable einer Klasse in einer anderen Klasse Nutzen Allgemeine Java-Themen 8
thetagman Programmidee: VirtualCorkboard - Evaluation, Nutzen & Meinung Allgemeine Java-Themen 12
D Darf ich jakarta bibliotheken ohne weiteres nutzen? Allgemeine Java-Themen 10
S Profiler-Funktionen in eigener Applikation nutzen..? Allgemeine Java-Themen 5
C Kann Methode nicht aus Klassenname implements Runnable nutzen Allgemeine Java-Themen 7
G C# DLL in Java nutzen Allgemeine Java-Themen 4
T cpp Programm via jna in java nutzen Allgemeine Java-Themen 3
Meldanor Datei aus jar nutzen Allgemeine Java-Themen 4
J Alte version nutzen Allgemeine Java-Themen 4
M Rechenweg in Datenbank speichern und nutzen Allgemeine Java-Themen 6
G konstanter String[] laesst sich nicht in Annotation nutzen Allgemeine Java-Themen 2
G Variable global nutzen Allgemeine Java-Themen 4
D Welches Pattern kann ich nutzen? Allgemeine Java-Themen 9
H StartupFolder nutzen! Aber wie? Allgemeine Java-Themen 4
D Einfaches Nutzen von Plugins mittels generischer Methode Allgemeine Java-Themen 3
V Setter zum Berechnen nutzen? Allgemeine Java-Themen 5
G Was nutzen statt Mehrfachvererbung? Allgemeine Java-Themen 7
R Wie Google & Co mit Java nutzen? Allgemeine Java-Themen 16
H einzelner Thread --> Nutzen?! Allgemeine Java-Themen 3
L Wie Pattern anwenden um Cipher zu nutzen Allgemeine Java-Themen 2
G DB connection in anderen Klassen nutzen! Allgemeine Java-Themen 7
K Warum static-Methoden nutzen Allgemeine Java-Themen 26
E NT-Anmeldung in Java Client-Applikation nutzen. JAAS ? Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben