2014-12-14 5 views
2

나는 /의 SRC/미디어에서 비트 맵에 놓여있다/나는 모든 운영 체제에서 작동하는 방식으로 액세스하는 것을 시도하고있다 : 내 코드를 실행하려고 할 때 나는 예외가 나타날 그러나플랫폼 독립적 인 방식으로 자바 리소스에 액세스하는 방법은 무엇입니까?

ImageIO.read(this.getClass().getResource("/media/title.bmp")); 

:

Exception in thread "main" java.lang.IllegalArgumentException: input == null! 
    at javax.imageio.ImageIO.read(Unknown Source) 

즉, this.getClass().getResource("/media/title.bmp")은 null을 반환합니다. 내 실수를 찾도록 도와 주시겠습니까?

+0

이미지를 .class 파일 (출력 디렉토리/jar 파일 등)과 동일한 위치에 복사 하시겠습니까? – GreyBeardedGeek

+0

사실! 파일이 bin 폴더에 없습니다. 이클립스를 사용하고 있는데, 어떻게 파일을 복사 할 수 있나요? –

+1

알았습니다! 답변을 작성 하시겠습니까? 이클립스에서 폴더 -> 속성을 ​​마우스 오른쪽 버튼으로 클릭하고 원하는 파일을 포함시킵니다. –

답변

1

이미지는 .class 파일과 동일한 위치에 있어야합니다 (즉, 런타임시 classpath에 있음).

대부분의 비 IDE 빌드 도구에는이 작업을 수행하는 방법이 있습니다. 예를 들어, Maven 프로젝트에서 src/main/resources에 넣으십시오.

엄격하게 IDE 기반 빌드의 경우, IDE가이를 구성 할 수있는 방법이있을 것입니다.