Java BufferedImage Problem

...komplette Frage anzeigen

3 Antworten

mach das Bild nicht in den Ordner, wo das Spiel ist, sondern irgendwo außerhalb. Dann bekommst du später auch keine Probleme, wenn du das Spiel in einer JAR exportierst,

Ein paar Tipps dafür:

Den Pfad für das APPDATA-Verzeichnis findest du über System.getenv("APPDATA"); . Das ist ein Ordner, der auf jedem Computer zu finden ist und somit keine Exception auftritt.

Leg dir zunächst eine File an, der du den APPDATA-Pfad mit den Unterverzeichnissen und dem Dateinamen übergibst. Ruf dann ImageIO.read() mit dem Argument der File auf, die du erzeugt hast.

Bsp.:

BufferedImage img = ImageIO.read(new File(System.getenv("APPDATA") + "/MeineApp/Bilder/TestBild.png));

das png wird nicht gefunden, daher liefert getresourceasstream null, und das löst die IOE aus.

Kik75 06.06.2014, 19:45

Aber das ist da mit größter Sicherheit drin...

0
freejack75 06.06.2014, 19:47
@Kik75

das musst Du mit Deiner Java VM und Deinem Classpath diskutieren, nicht mit mir... ;-)

0
Kik75 06.06.2014, 19:52
@freejack75

Das Png Boden ist auch in der Datei und wird gefunden, wie kann das sein???

0
freejack75 06.06.2014, 19:55
@Kik75

wie kommst Du da drauf? Die IllegalArgumentException wird doch gar nicht gefangen, so dass dieser Code doch gar nicht ausgeführt wird?

0
freejack75 06.06.2014, 22:33
@Kik75

dann musst du noch mal die Schreibweise und Groß/Kleinschreibung prüfen.

0

Der Code über getResourceAsStream funktioniert bei mir nur wenn das Programm in einer JAR steckt, ansonsten nill FileInputStream, am Besten in einem catch-Block.

Kik75 06.06.2014, 21:37

Wie hieße das denn dann bei dem Beispiel

0

Was möchtest Du wissen?