[RESOLVIDO] Problema de load Image

Boa noite pessoal, estou tentando carregar uma imagem com o bafferedImage() , mas está dando exceção de que: não pode ler a entrada do arquivo, o que faço?

Posta o erro completo e o código que você tenta carregar.

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
//package cargame;

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Random;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.Timer;

/**
 *
 * @author
 */
public class CenaryGame extends JPanel implements ActionListener, KeyListener  {

    
    
    private int space;
    private int speed;
    private int WIDTH = 500;
    private int HEIGHT = 700;
    private Rectangle car;
    private ArrayList <Rectangle> otherCars;
    private ArrayList <Rectangle> line;
    private Random random;
    private int width = 80;
    private int height = 70;
    private int move = 20;
    private  Timer t;
    private int count = 1;
    BufferedImage bg;
    BufferedImage road;
    BufferedImage CarStructers;
    BufferedImage user1;
    BufferedImage user2;

    private boolean linearF = true;
    
    
    
    
    
    //-Fazer o método construtor

    public CenaryGame() 
    {
        
        try {
            
            user1 = ImageIO.read(  new  File("img/imagem.jpg"));
            bg    = ImageIO.read(  new  File("img/imagem.jpg"));
            road  = ImageIO.read(new File("img/imagem.jpg"));
            CarStructers = ImageIO.read(new File("img/imagem.jpg"));
        } 
        
        catch (IOException ex) {
            
            System.out.println("error"+ex);
            
        }
        t = new Timer(20,this);
        random = new Random();
        otherCars = new ArrayList<Rectangle>();
        line = new ArrayList<Rectangle>();
        car = new Rectangle(WIDTH/2-90,HEIGHT-100,width,height);
        space = 300;
        speed = 2;
        
        addCars(true);
        addCars(true);
        addCars(true);
        
        
        addKeyListener(this);
        setFocusable(true);
Error: errorjavax.imegeio.IOException: can't read input file!

Sempre que postar código no fórum, formate antes de enviar, isso facilita a leitura.


Provavelmente o caminho está errado. Tenta assim:

BufferedImage algumaCoisa = ImageIO.read(getClass().getResourceAsStream("/img/imagem.jpg"));
1 curtida

Muito obrigada abner, resultou👌!

1 curtida

Sério que você criou 4 objetos File apontando para o mesmo arquivo?
Não precisa.

InputStream arquivo = getClass().getResourceAsStream("/img/imagem.jpg");
user1 = ImageIO.read(arquivo);
bg    = ImageIO.read(arquivo);
road  = ImageIO.read(arquivo);
carStructers = ImageIO.read(arquivo);

Muito bom e muito interessante