How to untar a TAR file using Apache Commons
===

I'm using the Apache Commons 1.4.1 library to compress and uncompress <code>".tar.gz"</code> files.

I'm having trouble with the last bit -- converting a <code>TarArchiveInputStream</code> into a <code>FileOutputStream</code>.

Oddly enough, it's breaking on this line:

    FileOutputStream fout = new FileOutputStream(destPath);
__________
<code>destPath</code> is a File with a Canonical path of: C:\Documents and Settings\Administrator\My Documents\JavaWorkspace\BackupUtility\untarred\Test\subdir\testinsub.txt

Error produced:

    Exception in thread "main" java.io.IOException: The system cannot find the path specified


Any idea what it could be? And why is it not able to find the path?

I'm attaching the whole method below (most of which is lifted from [here][1]).

    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();
    }


  [1]: http://webcache.googleusercontent.com/search?q=cache:OQ1Ex8ChLpkJ:www.thetechallies.com/node/4%20&cd=10&hl=en&ct=clnk&gl=mt