Hallo zusammen,
ich bin grade in einer sehr merkwürdigen Situation gelandet.
Zunaechst einmal meine Klassen:
Jetzt zum Problem. Also, ich habe einen Folder den ich "res" genannt habe. In diesem Ordner habe ich 2 weitere Unterordner "pictures" und "txt". Im pictures habe ich nur ein Bild in .png Format und im txt habe ich eine Datei namens datei. Der Ordner res ist selbstverstaendlich im Java Build Path(class!). Wenn ich das Programm so starte, bekomme ich die Meldung dass das Bild nicht geladen ist. Kommentiere ich die erste if-Abfrage(if img == null) aus, so sehe ich, dass alle Dateien erfolgreich geladen wurden.
Ich verstehe nicht, warum das Bild nicht geladen werden konnte.
Meine Vermutungen:
Gaebe es ein Problem mit dem res-Ordner, so haette ich auch das Output Datei nicht geladen bekommen, deshalb denke ich, dass der Fehler nicht an dem res liegt(oder liege ich falsch?).
Das Bild im res-Ordner heisst auch img und in .png Format.
Das einzig von mir gesehene Problem ist, dass die Methode loadImage() irgendwie null zurückliefert.
Sieht jemand einen Fehler im Code, den ich nicht sehe?
P.S: ich habe auch als path "res/...." benutzt also ohne "/" am Anfang hat aber den Fehler nicht behoben.
Vielen Dank im Voraus
ich bin grade in einer sehr merkwürdigen Situation gelandet.
Zunaechst einmal meine Klassen:
Java:
public class ImageLoader {
public static BufferedImage loadImage(String path) {
try {
return ImageIO.read(ImageLoader.class.getResource(path));
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
Java:
public class Utils {
public static String readFile(String path) {
StringBuilder builder = new StringBuilder();
try {
BufferedReader br = new BufferedReader(new FileReader(path));
String line;
while((line = br.readLine()) != null) {
builder.append(line + "\n");
}
br.close();
}catch(IOException e){
e.printStackTrace();
}
return builder.toString();
}
}
Java:
public class Main {
public static void main(String[] args) {
BufferedImage img = ImageLoader.loadImage("/res/pictures/img.png");
String text = Utils.readFile("/res/txt/datei");
if(img == null) {
System.out.println("Image nicht geladen");
System.exit(1);
}
if(text == null) {
System.out.println("Datei nicht geladen");
System.exit(1);
}
System.out.println("Dateien erfolgreich geladen");
}
}
Jetzt zum Problem. Also, ich habe einen Folder den ich "res" genannt habe. In diesem Ordner habe ich 2 weitere Unterordner "pictures" und "txt". Im pictures habe ich nur ein Bild in .png Format und im txt habe ich eine Datei namens datei. Der Ordner res ist selbstverstaendlich im Java Build Path(class!). Wenn ich das Programm so starte, bekomme ich die Meldung dass das Bild nicht geladen ist. Kommentiere ich die erste if-Abfrage(if img == null) aus, so sehe ich, dass alle Dateien erfolgreich geladen wurden.
Ich verstehe nicht, warum das Bild nicht geladen werden konnte.
Meine Vermutungen:
Gaebe es ein Problem mit dem res-Ordner, so haette ich auch das Output Datei nicht geladen bekommen, deshalb denke ich, dass der Fehler nicht an dem res liegt(oder liege ich falsch?).
Das Bild im res-Ordner heisst auch img und in .png Format.
Das einzig von mir gesehene Problem ist, dass die Methode loadImage() irgendwie null zurückliefert.
Sieht jemand einen Fehler im Code, den ich nicht sehe?
P.S: ich habe auch als path "res/...." benutzt also ohne "/" am Anfang hat aber den Fehler nicht behoben.
Vielen Dank im Voraus