GZIP не принимает fileStream - PullRequest
       0

GZIP не принимает fileStream

2 голосов
/ 07 декабря 2010
String inFileName = testDoc.gz;

File inFile = new File(inFileName);
System.out.println(inFileName);
FileInputStream fileStream = new FileInputStream(inFile);
GZIPInputStream gzipInputStream = new GZIPInputStream(fileStream);

При выполнении вышеуказанного кода в последней строке возвращается ошибка:

java.io.IOException: Not in GZIP format

Я пробовал его с несколькими документами и не вижу проблемы.

РЕДАКТИРОВАТЬ: документы не были созданы мной, они загружены.Они в формате .gz и под несколькими документами я имею в виду разные файлы .gz.

Ответы [ 2 ]

1 голос
/ 07 декабря 2010

Вы можете попробовать смонтировать файл GZIP с VFS .

0 голосов
/ 07 декабря 2010

GZIPInputStream работает с файлами GZIP, распаковывая ввод.GZIPOutputStream сжал все, что вы пишете в него.Поэтому, если вы хотите сжать данные, то вы должны записать в GZIPOutputStream.

Чтобы сжать файл, прочитайте его с помощью FileInputStream и оберните FileOutputStream с помощью GZIPOutputStream;чтение из входного файла в буфер, запись буфера в GZIPOutputStream, пока вы не закончите, и затем закрытие GZIPOutputStream.

Чтобы распаковать данные, вы можете прочитать их с помощью GZIPInputStream.Я только что проверил, и это работает;сжал файл с помощью gzip в командной строке и прочитал его с помощью GZIPInputStream (обернутый вокруг FileInputStream).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...