Eu já estou há bastente tempo tentando achar qual é o problema disso pois ele deve substituir um parametro por outro, eu estou tentando fazer um verificador de imagem (Parecido com o que eu fiz com o som em um outro topico) caso se o inputstream da imagem for nulo ou seja não estiver encontrado nenhum arquivo ele o substituirá por outro ou seja ele substitui um parametro, aqui está mais detalhes do erro:
Exception in thread “main” java.lang.NullPointerException
at PacoteJogo.ImageLoader.copy(ImageLoader.java:68)
at PacoteJogo.ImageLoader.readBytes(ImageLoader.java:61)
at PacoteJogo.Jogo.Tela(Jogo.java:146)
at PacoteJogo.Main.main(Main.java:22)
ou seja ele dá nulo mesmo substituindo o parametro:
Parametro errado sendo entregado para o imageVerifier que eu fiz:
InputStream inp2 = imageVerifier.verifyImage("/PacoteJogo/Sprites/Botã.png");
O parametro certo é esse:
InputStream inp2 = imageVerifier.verifyImage("/PacoteJogo/Sprites/Botão.png");
o image verifier retorna um inputstream caso a imagem esteja errada ele substitui pela imagem : notexturefound.png.
Aqui está o codigo do Imageverifier:
public class ImageVerifier {
private InputStream b;
private String d;
public InputStream verifyImage(String input) throws IOException, URISyntaxException {
String input2;
String input3;
InputStream c;
InputStream teste = this.getClass().getResourceAsStream(input);
System.out.println(input + " input agora");
//this.d = "/Pacotejogo/Sprites/notexturefound.png";
if(teste == null){
//System.out.println(this.d + " d");
input2 = "/Pacotejogo/Sprites/notexturefound.png";
c = this.getClass().getResourceAsStream(input2);
System.out.println(teste + " 'teste' resultado");
System.out.println(c + " 'c' antes");
System.out.println("Console:(ImageLoader)[ERROR(404)]: Image or icon not found");
System.out.println("Console: Image changed for notexturefound.png");
System.out.println("Console:(ImageLoader)[ERROR(404)]: Imagem ou icone não encontrado");
System.out.println("Console: Imagem substituída por notexturefound.png");
//System.out.println(input + " input");
System.out.println(c + " teste");
}else{
c = this.getClass().getResourceAsStream(input);
System.out.println(c + " 'c' agora else");
}
return c;
}
}
Então o problema é o nulo e até agora não consegui resolver o problema