Hi !
Featured games (85)
games approved by the League of Dukes
Games in Showcase (623)
Games in Android Showcase (176)
games submitted by our members
Games in WIP (676)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Getting resources from a .jar file  (Read 1295 times)
0 Members and 1 Guest are viewing this topic.
Offline Preacher

Junior Devvie

Java games rock!

« Posted 2004-03-15 06:44:52 »

Hi i'm having trouble getting resources to load from a .jar file. I'll start from the start. i'm developing a chess game that use's a plugin system. each plugin is encapsulated in a .jar file which resides in a /plugin/ directory. the core of the system looks for valid jar files in the /plugin/ directory and uses a modified class loader to load the appropiate classes.

The side affect of this is that classes root address is now the same as the core systems root, so using relative addressing is a little awkward.

I have succesfully loaded images from inside the .jar file by getting their absolute path e.g. getClass().getResource() and feeding this URL into a ImageIcon() which handles all the image loading itself, it uses Toolkit.getImage() under the hood to achieve this.

The problem is that i can't load files that require a string as an argument e.g File(String), i'm trying to load an .ase model  at the moment from a .jar file using the same method but the File object throws a FileNotFoundError.

The path is absolutly correct an example of the argument being passed to the File object is


I presume the ! after the .jar means its an archive. anyway any help with this would be great. Smiley
Offline javatypo

Junior Devvie

« Reply #1 - Posted 2004-03-15 12:14:54 »

First.. dont use ImageIcon. use

and .. since getClass().getResource() returns a URL, then what u do is open an inputstream from that and read the bytes.

Offline kevglass

« JGO Spiffy Duke »

Medals: 272
Projects: 25
Exp: 18 years

Coder, Trainee Pixel Artist, Game Reviewer

« Reply #2 - Posted 2004-03-15 13:02:05 »

or use getResourceAsStream()


Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Jeff

JGO Coder

Got any cats?

« Reply #3 - Posted 2004-03-15 20:40:28 »

The ! means that what preceeds it is a zip file and what follows is the path within the zip.

The filesystem knows nothing about zip files.  If you want to load that you have two choiues:

(1) use getResourceAsStream() and read the stream in
(2) Open the Zip (a jar is a zip really) file yourself using ZipFile (or JarFile for the exntended Jar info) and parsing through it.  there is an exampel under ZipFile in the Java CLass Libraries book.

Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!
Pages: [1]
  ignore  |  Print  
You cannot reply to this message, because it is very, very old.

BurntPizza (22 views)
2015-10-08 03:11:46

BurntPizza (15 views)
2015-10-08 00:30:40

BurntPizza (16 views)
2015-10-07 17:15:53

BurntPizza (31 views)
2015-10-07 02:11:23

KaiHH (37 views)
2015-10-06 20:22:20

KaiHH (16 views)
2015-10-06 19:41:59

BurntPizza (31 views)
2015-10-06 19:04:48

basil_ (46 views)
2015-09-30 17:04:40

shadowstryker (24 views)
2015-09-29 15:55:06

TheSpaceHedgehog (30 views)
2015-09-29 01:58:48
Math: Inequality properties
by Roquen
2015-10-01 13:30:46

Math: Inequality properties
by Roquen
2015-09-30 16:06:05

HotSpot Options
by Roquen
2015-08-29 11:33:11

Rendering resources
by Roquen
2015-08-17 12:42:29

Rendering resources
by Roquen
2015-08-17 09:36:56

Rendering resources
by Roquen
2015-08-13 07:40:51

Networking Resources
by Roquen
2015-08-13 07:40:43

List of Learning Resources
by gouessej
2015-07-09 11:29:36 is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!