So entpacken Sie eine TAR-Datei mit Apache Commons
Ich verwende die Apache Commons 1.4.1-Bibliothek zum Komprimieren und Dekomprimieren".tar.gz"
Dateien.
Ich habe Probleme mit dem letzten Bit - Konvertieren von aTarArchiveInputStream
in einFileOutputStream
.
Seltsamerweise bricht es in dieser Zeile:
FileOutputStream fout = new FileOutputStream(destPath);
destPath
ist eine Datei mit dem kanonischen Pfad C: \ Dokumente und Einstellungen \ Administrator \ Eigene Dateien \ JavaWorkspace \ BackupUtility \ untarred \ Test \ subdir \ testinsub.txt
Fehler erzeugt:
Exception in thread "main" java.io.IOException: The system cannot find the path specified
Irgendeine Idee woran es liegen könnte? Und warum kann es den Weg nicht finden?
Ich füge die ganze Methode unten hinzu (von der das meiste aufgehoben ist)Hier).
private void untar(File dest) throws IOException {
dest.mkdir();
TarArchiveEntry tarEntry = tarIn.getNextTarEntry();
// tarIn is a TarArchiveInputStream
while (tarEntry != null) {// create a file with the same name as the tarEntry
File destPath = new File(dest.toString() + System.getProperty("file.separator") + tarEntry.getName());
System.out.println("working: " + destPath.getCanonicalPath());
if (tarEntry.isDirectory()) {
destPath.mkdirs();
} else {
destPath.createNewFile();
FileOutputStream fout = new FileOutputStream(destPath);
tarIn.read(new byte[(int) tarEntry.getSize()]);
fout.close();
}
tarEntry = tarIn.getNextTarEntry();
}
tarIn.close();
}