Eclipse의 Java : GetResource를 사용하여로드하려는 파일 시스템에 파일을 어디에 넣을까요? (예 : imageicon의 이미지)

StackOverflow https://stackoverflow.com/questions/270197

문제

파일이 getClass (). getResource (filename)가 찾을 수있는 위치에 있어야한다는 것을 알고 있지만 그것이 어디에 있는지 모르겠습니다.

파일 시스템 자체에 파일을 넣을 위치와 Eclipse의 기능을 사용하여 리소스를 설정하는 방법에 관심이 있습니다.

도움이 되었습니까?

해결책

Eclipse의 경우 일반적으로 소스 코드 디렉토리 어딘가에 폴더를 설정하기 만하면됩니다. 예를 들어, 소스가 포함 된 디렉토리가 /src 그런 다음 a를 만들 수 있습니다 /src/resources 이미지/파일을 배치하는 폴더. 그런 다음 수업 내에서 getResource("/resources/image.png") 그것을 검색하려면.

원하는 경우 이미지/파일을 동일한 폴더/패키지에 동일한 폴더/패키지에 배치 할 수 있습니다. com.mycompany 패키지 com.mycompany.Foo 액세스하고 호출 해야하는 클래스 getResource("image.png")), 그러나 나는 이미지 및 기타 파일과 같은 리소스를 클래스 폴더 외부의 특수 디렉토리에 보관하는 것이 더 쉽다는 것을 알았습니다.이 방법으로 관리하기가 더 쉽습니다.

Eclipse에서 빌드를 수행 할 때 마다이 리소스 디렉토리의 파일은 컴파일 된 클래스와 함께 빌드 디렉토리에 복사됩니다.

ECLIPSE (대부분의 사람들이하는 것처럼)에 "자동으로 빌드"를 켜는 경우 (대부분의 사람들이하는 것처럼) ECLIPSE 외부에서 변경되는이 디렉토리의 모든 리소스 (즉, 이미지 편집 도구를 사용하여 이미지를 편집 함)는 IDE가하지 않을 수 있습니다. 항상이 변화를 감지하십시오. 일반적으로 프로젝트 폴더에서 새로 고침을 사용하면 이러한 상황에서 빌드에서 파일이 업데이트되도록합니다.

다른 팁

클래스와 함께 SRC 폴더에 넣거나 목적을위한 새 소스 폴더를 만들 수 있습니다 (일반적으로 호출 자원), 코드에서 동일하게 찾을 수 있습니다.

그런 다음 당신은 그들에게 사용합니다 getResource("/com/x/y/foo.png").

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top