Проверка, является ли поток zip-файлом

У нас есть требование определить, является ли входящий поток InputStream ссылкой на zip-файл или zip-данные. У нас нет ссылки на основной источник потока. Мы стремимся скопировать содержимое этого потока в OutputStream, направленный в другое место.

Я попытался прочитать поток с помощью ZipInputStream и извлечь ZipEntry. ZipEntry имеет значение NULL, если поток является обычным файлом - как и ожидалось - однако при проверке ZipEntry я теряю начальную пару байтов из потока. Следовательно, к тому времени, когда я узнаю, что поток является обычным потоком, Я уже потерял исходные данные из потока.

Любые мысли о том, как проверить, является ли InputStream архивом без потери данных, были бы полезны.

Спасибо.

5
задан mtk 28 May 2012 в 19:25
поделиться