2012-06-22 1 views
2

Я создаю приложение Java, которое будет принимать файлы .tar и извлекать все файлы из этих .tar файлов. Я знаю, вы можете использовать GZIPInputStream, чтобы получить файлы из файлов .tar, но можно ли получить эти файлы с GZIPInputStream как FileInputStream, что-то вроде ниже?Доступ к файлам Java в файлах .tar с использованием Java

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

ответ

1

Да, это возможно благодаря CTOR из GZIPInputStream, что позволяет принимать InputStream в качестве параметра (GZIPInputStream обертка в этом смысле к InputStream). Затем все, что вам нужно сделать, это следовать примерам, которые вы можете найти в Интернете, например this, чтобы извлечь файлы.

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 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^