이미지를 InputStream
으로 읽으려고합니다. 하지만 어떤 이유로 나는 항상 IllegalArugmentException
이됩니다.IllegalArgumentException 입력 == null
BufferedImage i = null;
i = ImageIO.read(getClass().getResourceAsStream("/res/graphics" + path));
이미지를 InputStream
으로 읽으려고합니다. 하지만 어떤 이유로 나는 항상 IllegalArugmentException
이됩니다.IllegalArgumentException 입력 == null
BufferedImage i = null;
i = ImageIO.read(getClass().getResourceAsStream("/res/graphics" + path));
기본적으로 이름을 가지는 자원이 존재하지 않습니다
여기 내 코드입니다. 리소스는 클래스 로더에 의해 이름이 res.graphics.whatever
인 클래스와 같은 방식으로 배치됩니다. 물론 관련성은 더 커집니다. 따라서 동일한 메소드를 사용하여이 리소스에 액세스 할 수 있도록 클래스에 액세스 가능하게 만드십시오.
이유 :이
자원이 null
로 평가하고 예외
예외 이유는 다음과 같습니다 , IllegalArgumentException를 - 입력
null
경우.
솔루션 : res/graphics/whatever
가 루트 클래스 경로에
경우가 반환됩니다 null이 아닌
가 원하는 값으로 평가하지 않습니다 "/res/graphics" + path
을 보인다. 당신이 BufferedImage
을 사용하는 방법 다음
는 + path`로 평가
public File myImg = new File("someImage.png");
BufferedImage in = ImageIO.read(myImg);
//Just an example
BufferedImage newImage = new BufferedImage(in.getWidth(), in.getHeight(), BufferedImage.TYPE_INT_ARGB);
이것은 [tag : embedded-resource] 일 가능성이 큽니다. '파일'은 작동하지 않습니다. –
무엇합니까' "/ 입술/그래픽"인가? – NINCOMPOOP
리소스 경로에 액세스 할 수 있습니까? – HRgiger
프로그램에서 파일을 읽을 수 있습니까? –