'Why getClass().getResourceAsStream() not finding my files in res folder
I am following a tutorial to learn java programing. When they showed how to to upload the images, I did what they said in the video
package com.entity;
import com.main.GamePanel;
import com.main.KeyHandler;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.IOException;
import javax.imageio.ImageIO;
public class Player extends Entity{
GamePanel gp;
KeyHandler keyH;
public Player(GamePanel gp, KeyHandler keyH){
this.gp = gp;
this.keyH =keyH;
setDefaultValues();
getPlayerImage();
}
public void setDefaultValues() {
x = 100;
y = 100;
speed = 4;
direction = "down";
}
public void getPlayerImage() {
try{
//this is the main part
up1 = ImageIO.read(getClass().getResourceAsStream("/player/New Piskel-1.png.png"));
up2 = ImageIO.read(getClass().getResourceAsStream("/player/New Piskel-2.png.png"));
up3 = ImageIO.read(getClass().getResourceAsStream("/player/New Piskel-3.png.png"));
down1 = ImageIO.read(getClass().getResourceAsStream("player/New Piskel-4.png.png"));
down2 = ImageIO.read(getClass().getResourceAsStream("/player/New Piskel-5.png.png"));
down3 = ImageIO.read(getClass().getResourceAsStream("/player/New Piskel-6.png.png"));
left1 = ImageIO.read(getClass().getResourceAsStream("/player/New Piskel-7.png.png"));
left2 = ImageIO.read(getClass().getResourceAsStream("/player/New Piskel-8.png.png"));
left3 = ImageIO.read(getClass().getResourceAsStream("/player/New Piskel-9.png.png"));
left4 = ImageIO.read(getClass().getResourceAsStream("/player/New Piskel-10.png.png"));
right1 = ImageIO.read(getClass().getResourceAsStream("/player/New Piskel-11.png.png"));
right2 = ImageIO.read(getClass().getResourceAsStream("/player/New Piskel-12.png.png"));
right3 = ImageIO.read(getClass().getResourceAsStream("/player/New Piskel-13.png.png"));
right4 = ImageIO.read(getClass().getResourceAsStream("/player/New Piskel-14.png.png"));
}catch(IOException e){
e.printStackTrace();
}
}
public void update() {
if(keyH.upPressed == true) {
direction = "up";
y -= speed;
}
if(keyH.downPressed == true) {
direction = "down";
y += speed;
}
if(keyH.leftPressed == true) {
direction = "left";
x -= speed;
}
if(keyH.rightPressed == true) {
direction = "right";
x += speed;
}
}
public void draw(Graphics2D g2) {
BufferedImage image = null;
switch (direction) {
case "up":
image = up1;
break;
case "dowm":
image = down1;
break;
case "left":
image = left1;
break;
case "right":
image = right1;
break;
}
g2.drawImage(image, x, y, gp.tileSize, gp.tileSize, null);
}
}
Then when i ran the code using my IDE (Android Studio bumblebee) it said in the console.
java.lang.IllegalArgumentException: input == null
I searched through the comments section of the video and multiple people had the same problem. The person who uploaded it said to make sure the names were correct and find how to make a resource folder in your IDE.
This is the main point of the question as I have searched the whole internet for the answer and experimented all the ways it possibly could've worked.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
