• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Resource within jar file within jar file

 
Ranch Hand
Posts: 33
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi There,

I have my main jar file containing classes and within that I have another jar file full of images and a library.xml file to manage those images as such:

utilities.jar
- com/esp/textures/JarTextureLibrary.class
- com/esp/textures/textures.jar
- library.xml
- bricks/brick_01.gif
- bricks/brick_02.gif
- etc...

In code I do the following


I then modify the URL by:


I then proceed to read the xml file from this newly created xmlString.

Now this doesn't work because of the multiple "!/" that appear on the final resulting URL giving me the following error message:

xml�library�location�is:�jar:file:/C:/current/lib/utilities.jar!/com/esp/textures/textures.jar!/library.xml
JAR entry com/esp/textures/textures.jar!/library.xml not found in C:\current\lib\utilities.jar

Any ideas how I can read not only the library file (library.xml) but also the images contained within it?

Is the only way to extract the textures.jar file locally and then try and access it?

Thank you in advance,

Regards,

Fabricio
 
Marshal
Posts: 28193
95
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Yes, not having the jar file inside another jar file would make things far easier. And if you made both jar files be in the classpath, you wouldn't have to change your existing code.
 
Rancher
Posts: 5008
38
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Here's an idea. Override/extend the File class with a class that will get its input from memory, say a byte array. Read the nested/contained jar file from the real jar file into the byte array. Then use the ZipFile constructor with your extended File class to process the jar file from memory.
reply
    Bookmark Topic Watch Topic
  • New Topic