GZIP不接受fileStream

时间:2010-12-06 23:46:00

标签: java gzip

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 个答案:

答案 0 :(得分:1)

您可以尝试使用VFS安装GZIP文件。

答案 1 :(得分:0)

GZIPInputStream与GZIP文件一起使用,解压缩输入。 GZIPOutputStream会压缩您写入的内容。因此,如果要压缩数据,则必须写入GZIPOutputStream。

要压缩文件,请使用FileInputStream进行读取,并使用GZIPOutputStream包装FileOutputStream;从输入文件读入缓冲区,将缓冲区写入GZIPOutputStream,直到完成,然后关闭GZIPOutputStream。

要解压缩数据,您可以使用GZIPInputStream读取数据。我刚检查过它并且有效;在命令行中使用gzip压缩文件,并使用GZIPInputStream(包裹在FileInputStream中)读取它。