2017-08-03 2 views
0

Ich möchte einfach ein Image laden.IntelliJ javax.imageio.IIOException: Eingabedatei kann nicht gelesen werden

In einem älteren Programm funktioniert es. Der einzige Unterschied ist, dass der alte Verzeichnisse verwendet und dieser verwendet Pakete. Eigentlich kann ich nicht einmal ein Verzeichnis erstellen.

Das ist das Stacktrace:

javax.imageio.IIOException: Can't read input file! 
    at javax.imageio.ImageIO.read(ImageIO.java:1301) 
    at com.company.ImageLoader.loadImage(ImageLoader.java:17) 
    at com.company.Window.Window.<init>(Window.java:30) 
    at com.company.Engine.<init>(Engine.java:21) 
    at com.company.Main.main(Main.java:8) 

enter image description here

enter image description here

public class Window 
{ 
    private JFrame myFrame; 
    private JPanel mainPanel; 
    private JLabel mainLabel; 
    private ImageLoader myImageLoader = new ImageLoader(); 

    public Window(Boolean defaultLaFDeco, String title, int x, int y, int width, int height) 
    { 
     JFrame.setDefaultLookAndFeelDecorated(defaultLaFDeco); 
     myFrame = new JFrame(); 
     myFrame.setTitle(title); 
     mainPanel = new JPanel(); 
     mainLabel = new JLabel(); 
     mainPanel.add(mainLabel); 
     myFrame.add(mainPanel); 
     myFrame.setBounds(x,y,width,height); 
     myFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); 
     myFrame.setVisible(true); 

     File file = new File("Res/cat/0.jpg"); 
     BufferedImage img = myImageLoader.loadImage(file); 
    } 
} 

public class ImageLoader 
{ 
    private BufferedImage image = null; 

    public BufferedImage loadImage(File file) 
    { 
     BufferedImage img = null; 
     try 
     { 
      img = ImageIO.read(file); 
     } catch (IOException e) 
     { 
      e.printStackTrace(); 
     } 
     return img; 
    } 
} 
+0

Sie können kein Verzeichnis in der Paketstruktur erstellen. Probiere '' new File ("../ Res/cat/0.jpg"); '' –

Antwort

0

Das Problem war, dass das Bild im Grunde in src-Verzeichnis war.

Verwandte Themen