Input file nicht lesbar

Kampfzwereg

Bekanntes Mitglied
Guten Abend,

ich bin nicht so der Profi, desswegen bin ich mir jetzt nicht zu 100% sicher mit der Platzierung des Themas. Wenn ich heir mit dem Thema falsch bin , bitte drauf aufmerksam machen.
Also:

Ich wollte mittels einer Methode die Farbwerte aller Pixel eines JPG´s ausgeben. Ich glaube das Prinzip der Methode ist eigentlich recht sinnvoll.


Java:
public void loadJPG()
 {
    try
    {
      BufferedImage image = ImageIO.read(new File("bild.jpg"));
      for (int x = 0; x < image.getWidth(); x++) {
        for (int y = 0; y < image.getHeight(); y++) {
          Color color = new Color(image.getRGB(x, y));
          jTA1.append("|pixel (" + x + "," + y + ")");
          jTA2.append("|red:   " + color.getRed());
          jTA3.append("|green: " + color.getGreen());
          jTA4.append("|blue:  " + color.getBlue());
        }
      }
    }
    catch(IOException e)
    {
       jTA1.setText("ERROR");
       jTA2.setText("ERROR");
       jTA3.setText("ERROR");
       jTA4.setText("ERROR");
       e.printStackTrace();

    }
  }

jedoch sagt er mir da
Java:
javax.imageio.IIOException: Can't read input file!
	                               at javax.imageio.ImageIO.read(ImageIO.java:1301)
                                   at PixelAnalyseFrame.loadJPG(PixelAnalyseFrame.java:86)
.
(Er spuckt noch tausend weiter at´s aus aber ich glaub, dass das die wichtigsten sind.)


Inder Fehlermeldung steht zwar Zeile 86, also
Java:
 BufferedImage image = ImageIO.read(new File("C://bild.jpg"));
aber da dürfte es eigentlich keine Prob´s geben. Ich wüsste ehrlichgesagt nicht warum. Hab auch schon nen richtigen Pfad angegeben. Dann kommt aber die gleiche Fehlermeldung.
Außerdem hab ich mir auch den Konstruktor der Klasse File angeguckt und der passt dazu auch.

Wär jedenfalls nett, wenn ich von jmd einen kleinen Denkanstoß bekommen würde.

Lg Kampfzwereg
 
Moin,

Java:
BufferedImage image = ImageIO.read( new File("bild.jpg") );
also, diese Zeile sieht rein syntaktisch korrekt aus!

Bleibt die Frage, was mit der Datei ist?
Existiert die Datei (richtiger Name)? Ist es wirklich eine Bilddatei? In welchem Verzeichnis?

IMHO dürfte es an letzterem liegen ...

Gruß
Klaus
 
Hallo.

Nur zur Ergänzung evtl. mit
Java:
System.out.println( System.getProperty("user.dir") );
überprüfen wie der genaue Pfad deines Arbeitsverzeichnisses ist.
 
Wenn, dann wärs [c]"C:/bild.jpg"[/c] oder [c]"C:\\Bild.jpg"[/c], aber sicher nicht [c]"C://bild.jpg"[/c]. Ich würde [c]"C:/bild.jpg"[/c] bevorzugen. Denn in Java funktioniert unter Windows auch [c]/[/c] und alle anderen OS haben ebenfalls [c]/[/c].
 
Java:
System.out.println( System.getProperty("user.dir") );

das check I net ganz .
Aber ich habs auch mal mit dem Angeben des direkten Pfads probiert....get nicht -.-.

wirklich keiner m ehr ne Idee... ?
 
Also im Browser steht zumindest bei mir gerade "bild.jpg.jpg", vielleicht ist es bei dir auch so auf der Festplatte?

Ansonsten zerleg es doch mal und versuch es in mehrere zeilen auszulagern und das zu debuggen oder mit Konsolenausgaben zu testen?:

Java:
File f = new File(...);
if(f.exists())
 System.out.println("Yeah");
 
okaaay. DAS ist mir jetzt peinlich. Ich hatte nicht beachtet, dass die Funktion "Endung im Namen anzeigen" aus war. Sprich : da stand bild.jpg wobei der Browser noch nicht die Endung angezeigt hatte.

Danke trotzdem an alle bemühungen.
Lg Kampfzwerg




P.S.: 90% aller Fehler sitzen zwischen Tastatur und Stuhl :]
 

Neue Themen


Zurück
Oben