使用Java访问.tar文件中的Java文件

时间:2012-06-22 16:12:40

标签: java file tar

我正在创建一个Java应用程序,它将接收.tar文件并从这些.tar文件中检索所有文件。我知道您可以使用GZIPInputStream从.tar文件中获取文件,但是可以将这些文件从GZIPInputStream作为FileInputStream获取,如下所示吗?

InputStream is = new GZIPInputStream(new FileInputStream(file)); 

2 个答案:

答案 0 :(得分:1)

是的,由于GZipInputStream的CTOR可以让你接受一个I​​nputStream作为参数(GZipInputStream是这个意义上的输入流的包装器)。然后,您需要做的就是按照互联网上可以找到的示例,例如this来提取文件。

答案 1 :(得分:0)

GZIPInputStream延伸InputStream(不是直接),所以我认为没关系。试试这个:

InputStream in = new java.util.GZIPInputStream(new FileInputStream(file));
byte[] buffer = new byte[1024];
int read = 0;
while (( read = in.read(buffer, 0, 1024)) > 0)
{
     // do sth
}