Eclipse를 사용하고 있으며 다음 코드를 사용하여 폴더에서 이미지를로드합니다.jar에 이미지로드
이미지 폴더는 프로젝트 폴더의 bin 폴더 내에 있습니다. 이클립스에서로드 할 때 잘 작동하지만 항아리로 내보낼 때로드되지 않습니다. jar 파일의 모든 가능한 위치에 이미지 폴더를 넣으려고했으나 그렇지 않습니다.
병에 이미지 폴더를로드하는 방법은 무엇입니까?
Eclipse를 사용하고 있으며 다음 코드를 사용하여 폴더에서 이미지를로드합니다.jar에 이미지로드
이미지 폴더는 프로젝트 폴더의 bin 폴더 내에 있습니다. 이클립스에서로드 할 때 잘 작동하지만 항아리로 내보낼 때로드되지 않습니다. jar 파일의 모든 가능한 위치에 이미지 폴더를 넣으려고했으나 그렇지 않습니다.
병에 이미지 폴더를로드하는 방법은 무엇입니까?
대신 getResourceAsStream()
메서드를 사용하여 InputStream
인스턴스를 파일 데이터로 가져올 수 있습니다.
업데이트 : jar 파일에서 파일 로딩은 클래스 로더의 도움으로 이루어집니다. 그리고 내부 리소스의 InputStream (FileInputStream 아님)의 인스턴스를 제공 할 수 있습니다 (이미지 파일 또는 사운드 파일 또는 텍스트 파일 임). 항아리 안에서 파일 쓰기가 작동해서는 안됩니다.
사용하십시오. 이 방법은 doesn't return immediately
입니다. 다음
return new ImageIcon(getClass().getClassLoader().getResources(img)).getImage();
당신이
, 내 코드를 적응이 사용하고 있습니다. 문제는 이미지 만로드하지만 사운드 파일이나 파일 쓰기는 Eclipse 외부에서 작동하지 않는다는 것입니다. 사운드 파일을로드하거나 FileInputStream 및 FileWriter를 사용하려면 어떻게해야합니까? – Coupon22JAR
의 루트에서로드하려면대답 업데이트를 확인하십시오 –
* "하지만 사운드 파일 .. 이클립스 밖에서 작동하지 않습니다"* 그들을 위해'getResource (String)'을 사용하십시오. getResourceAsStream (String)의 문제는, 위치를 변경할 수없는 입력 스트림을 돌려주는 것입니다. –