Мне нужно извлечь файл .tar.Z с помощью java

У кого-нибудь есть код в java для извлечения файлов .tar.Z.

Предположим, что у меня есть файл с именем home.tar.Z. Мне нужно извлечь этот файл с помощью кода Java, можете ли вы привести какой-либо пример кода.

Спасибо


person Android    schedule 23.02.2013    source источник
comment
Разве вы не можете разветвить процесс, делающий это?   -  person Basile Starynkevitch    schedule 23.02.2013
comment
Вы можете использовать Commons Compress.   -  person Boris the Spider    schedule 23.02.2013
comment
Я пытался с помощью Commons Compress, он не может извлечь файлы .Z.   -  person Android    schedule 23.02.2013
comment
см. Чтение файла .Z (unix сжимает файл) в Java   -  person Janus Troelsen    schedule 25.06.2013


Ответы (2)


Расширение .Z не является расширением gzip, оно происходит от compress.

Можно запускать шелл-скрипты из Java, я бы так и сделал, так как не знаю ни одной compress библиотеки для Java. Для tar/gz вы можете использовать Plexus Archiver или Apache Commons VFS.

Видеть

К сожалению, кажется, что какие-либо библиотеки не охватывают .Z файлов, поэтому я думаю, что эти ссылки для вас непригодны.

Но взгляните на:

Это позволяет вам делать все с помощью команд оболочки, что означает, что вам не придется делать это из Java.

person Janus Troelsen    schedule 23.02.2013

Очевидно, поздно помогать ОП, но для потомков Apache commons-compress действительно поддерживает * .З.

Например

import org.apache.commons.compress.compressors.z.ZCompressorInputStream;

...

FileInputStream fin = new FileInputStream("/path/to/archive.something.Z");
BufferedInputStream in = new BufferedInputStream(fin);
ZCompressorInputStream zIn = new ZCompressorInputStream(in);

BufferedReader br = new BufferedReader(new InputStreamReader(zIn));

while (null != (content = br.readLine())) {
  System.out.println(content);
}
br.close();
person Matt Pollock    schedule 19.10.2016