Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Frischling
Wohnort: Wien 1200 und Techelsberg 9212
Beruf: Junior Software-Entwickler & Software Testing
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 |
packagedefinition und imports; public class BufferedImageLoader { public BufferedImage loadImage(String pathRelativeToThis) throws IOException { URL url = this.getClass().getResource(pathRelativeToThis); BufferedImage img = ImageIO.read(url); return img; } } |
Frischling
Wohnort: Wien 1200 und Techelsberg 9212
Beruf: Junior Software-Entwickler & Software Testing
Community-Fossil
Frischling
Wohnort: Wien 1200 und Techelsberg 9212
Beruf: Junior Software-Entwickler & Software Testing
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
package data; import java.awt.Image; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.util.HashMap; import java.util.Properties; import java.util.Set; import javax.imageio.ImageIO; public class ResourceLoader { // Memberlist // public final String dataURL = this.getClass().getResource("").getPath(); public final String appURL = dataURL.substring(0,dataURL.length()-5); private Properties loadingData = null; private volatile HashMap<String,EPath> mPaths = null; // Initialize Class // public ResourceLoader () { mPaths = new HashMap<String, EPath>(); loadingProperties(); fillPathMap(); } private void loadingProperties() { loadingData = new Properties(); InputStream input = null; try { input = new FileInputStream(dataURL + "loading.properties"); loadingData.load(input); } catch (FileNotFoundException fnfe) { System.out.println("Error: file not found!"); System.out.println("Message: "+fnfe.getMessage()); fnfe.printStackTrace(); } catch (IOException ioe) { System.out.println("Error: IO-Exception!"); System.out.println("Message: "+ioe.getMessage()); ioe.printStackTrace(); } } private void fillPathMap () { Set<String> tmpKeys = loadingData.stringPropertyNames(); for ( int i=0; i < tmpKeys.size(); i++ ) { String s = tmpKeys.toArray()[i].toString(); mPaths.put( s, new EPath(appURL + loadingData.getProperty(s),true) ); } } // // Initialize Class // Core-Business // public Image loadImage( String image ) { try { System.out.println( "Path: "+mPaths.get("image_path").toPath()+image ); File file = new File( mPaths.get("image_path").toPath()+image ); return ImageIO.read(file); } catch ( IOException ioe ) { System.out.println("Error: IOException"); System.out.println("Message: " + ioe.getMessage()); ioe.printStackTrace(); } return null; } // // Core-Business } |
Frischling
Wohnort: Wien 1200 und Techelsberg 9212
Beruf: Junior Software-Entwickler & Software Testing
Ich bin mir gerade nicht sicher, aber ich glaube der FileInputStream akzeptiert keine jar-URLs im Konstruktor. Ich beziehe mich da auf den Fall, dass die Dateien, die Du laden willst, im Jar liegen. Die Klassen können natürlich immer im Jar liegen.Funktioniert meine Variante nicht aus einer .JAR?
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Chromanoid« (21.04.2014, 20:23)
Werbeanzeige