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