Ok quindi voglio leggere il contenuto di un file tar.gz (o xy) ma è la stessa cosa. Quello che sto facendo è più o meno questo:Leggi tar.gz in Java con Commons-compression
TarArchiveInputStream tarInput = new TarArchiveInputStream(new GzipCompressorInputStream(new FileInputStream("c://temp//test.tar.gz")));
TarArchiveEntry currentEntry = tarInput.getNextTarEntry();
BufferedReader br = null;
StringBuilder sb = new StringBuilder();
while (currentEntry != null) {
File f = currentEntry.getFile();
br = new BufferedReader(new FileReader(f));
System.out.println("For File = " + currentEntry.getName());
String line;
while ((line = br.readLine()) != null) {
System.out.println("line="+line);
}
}
if (br!=null) {
br.close();
}
Ma ottengo nulla quando chiamo il metodo di TarArchiveEntry
getFile
.
Sto usando Apache commons comprimere 1.8.1
Questo è così intuitivo ... Anche gli stati Javadoc "ottenere il file di questa voce." – kraxor
@kraxor Questo succede perché un oggetto 'File' può riferirsi solo a file esistenti sul disco, e quindi non può essere usato per i nomi di file di file compressi – Ferrybig