Wir müssen festlegen, ob ein eingehender InputStream ein Verweis auf eine Zip-Datei oder Zip-Daten ist. Wir haben keinen Bezug zur zugrunde liegenden Quelle des Streams. Wir beabsichtigen, den Inhalt dieses Streams in einen OutputStream zu kopieren, der an einen anderen Ort gerichtet ist.Überprüfen, ob ein Stream eine Zip-Datei ist
Ich habe versucht, den Stream mit ZipInputStream zu lesen und einen ZipEntry extrahieren. Der ZipEntry ist null, wenn der Stream wie erwartet eine reguläre Datei ist. Beim Überprüfen auf einen ZipEntry verliere ich jedoch die ersten paar Bytes aus dem Stream. Wenn ich weiß, dass der Stream ein regulärer Stream ist, habe ich bereits erste Daten aus dem Stream verloren.
Alle Überlegungen zur Überprüfung, ob der InputStream ein Archiv ohne Datenverlust ist, wären hilfreich.
Danke.
Bitte beachten Sie meine Kommentare zu der Antwort von Galactus unten - welches ist der Ansatz, den ich als eine Lösung nehme. Danke allen. – AKS
Willkommen bei Stack Overflow! Vergessen Sie nicht, die Antwort, die Sie gewählt haben, als "ausgewählt" zu markieren (die Häkchenumrandung auf der linken Seite). –
Danke. Gerade gemacht. – AKS