파일이 getClass(). getResource (filename)에서 찾을 수 있어야하지만 파일이 어디에 있는지는 알 수 없습니다.Eclipse의 자바 : getResource를 사용하여로드 할 파일 시스템은 어디에 두어야하나요? (예 : ImageIcon의 이미지)
파일 시스템에 파일을 저장하는 위치와 Eclipse의 기능을 사용하여 리소스를 설정하는 방법에 관심이 있습니다.
파일이 getClass(). getResource (filename)에서 찾을 수 있어야하지만 파일이 어디에 있는지는 알 수 없습니다.Eclipse의 자바 : getResource를 사용하여로드 할 파일 시스템은 어디에 두어야하나요? (예 : ImageIcon의 이미지)
파일 시스템에 파일을 저장하는 위치와 Eclipse의 기능을 사용하여 리소스를 설정하는 방법에 관심이 있습니다.
Eclipse의 경우 일반적으로 소스 코드 디렉토리의 어딘가에 폴더를 설정하기 만하면됩니다. 예를 들어, 소스가 들어있는 디렉토리가 /src
인 경우 /src/resources
폴더를 만들어 이미지/파일을 넣을 수 있습니다. 그런 다음 클래스 내에서 getResource("/resources/image.png")
을 검색하여 검색 할 수 있습니다.
원하는 경우 이미지/파일을 액세스하려는 클래스와 동일한 폴더/패키지 내에 넣을 수도 있습니다 (예 : com.mycompany
패키지에 image.png를 넣고 액세스해야하는 com.mycompany.Foo
클래스). 전화 getResource("image.png")
)하지만 이미지와 다른 파일 같은 리소스를 클래스 폴더 외부의 고유 한 디렉토리에 보관하는 것이 더 쉽다는 것을 알았습니다. 그렇게 쉽게 관리 할 수 있습니다.
Eclipse에서 빌드를 수행 할 때마다이 리소스 디렉토리 내의 파일이 컴파일 된 클래스와 함께 빌드 디렉토리로 복사됩니다.
이 디렉토리에서 이클립스 외부에서 변경된 (즉, 이미지 편집 도구를 사용하여 이미지를 편집 할 때) 이클립스에서 "자동으로 빌드"가 켜져 있다면 (대부분 사람들이 그렇듯이) IDE가이 변경 사항을 항상 감지하지 못할 수도 있습니다. 일반적으로 프로젝트 폴더에서 새로 고침을하면 파일이 이러한 상황에서 빌드에서 업데이트되도록합니다.
코드를 클래스와 함께 src 폴더에 넣거나 목적 코드 (일반적으로 리소스)를 만들 수 있습니다. 코드에서 동일하게 찾을 수 있습니다.
그런 다음 getResource("/com/x/y/foo.png")
을 사용합니다.
이클립스가 src 디렉토리에 넣은 리소스 디렉토리를 올바르게 처리하지 못하는 경우에 대비해 "include"해야하지만 "source folder"로 사용하면 안된다. 폴더의 컨텍스트 메뉴 (오른쪽 클릭)를 불러와 빌드 경로 -> 빌드 경로에서 제거, 포함 – charstar