This week's book giveaway is in the Mac OS forum.
We're giving away four copies of a choice of "Take Control of Upgrading to Yosemite" or "Take Control of Automating Your Mac" and have Joe Kissell on-line!
See this thread for details.
The moose likes Java in General and the fly likes Zipping Directory Structure - Need to Chop Off First Few Directories Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


JavaRanch » Java Forums » Java » Java in General
Bookmark "Zipping Directory Structure - Need to Chop Off First Few Directories" Watch "Zipping Directory Structure - Need to Chop Off First Few Directories" New topic
Author

Zipping Directory Structure - Need to Chop Off First Few Directories

Gregg Bolinger
GenRocket Founder
Ranch Hand

Joined: Jul 11, 2001
Posts: 15299
    
    6

A web application I am working on stores files on AmazonS3 and I give the user the option of downloading a handful of files at once. These files are pulled down from AS3 then I zip them up before shipping them off to the user. This is a grails app so m code is in Groovy but it's just the Zip API so should be close enough for help here.

I download the files (which include directories of their own) into an initial drop spot. Something like:

/applications/thehighbar/attachments/board/

And then the system creates a user directory and a timestamp directory so I end up with this..

/applications/thehighbar/attachments/board/1234/102343254354/

Then my files are downloaded into that directory and I end up with...

/applications/thehighbar/attachments/board/1234/102343254354/2010/something/foo/file001.txt
/applications/thehighbar/attachments/board/1234/102343254354/2010/something/foo/file002.txt
/applications/thehighbar/attachments/board/1234/102343254354/2010/something/boo/boo001.png

You get the idea. The problem is that when I zip this up, the zip file contains /applications/... all the way to the actual files. I really need to start at 2010, although it won't always say 2010. So basically, I need to chop off /applications/thehighbar/attachments/board/1234/102343254354/ so they don't get zipped into the zip file. Here's my code..



loopFile is a File object that represents everything from /applications/ up to where 2010 starts. I then loop over all the directories and files within that structure. But since the File has an absolute path starting with /applications/ those still get zipped up as part of the structure. I realize this is kind of confusing. I hope it makes enough sense.


GenRocket - Experts at Building Test Data
Paul Clapham
Bartender

Joined: Oct 14, 2005
Posts: 18570
    
    8

Wouldn't you just replace

by

where the shortVersion method returns the jar path you want to see?
Gregg Bolinger
GenRocket Founder
Ranch Hand

Joined: Jul 11, 2001
Posts: 15299
    
    6

Thanks Paul. Let me give that a shot.
Gregg Bolinger
GenRocket Founder
Ranch Hand

Joined: Jul 11, 2001
Posts: 15299
    
    6

Perfect Paul! Worked great. Thank you.
 
GeeCON Prague 2014
 
subject: Zipping Directory Structure - Need to Chop Off First Few Directories