2016-11-17 11 views
-1

그래서 파일을 나타내는 문자열을 사용하는 작은 응용 프로그램을 작성하여 파일을 만든 다음 버퍼 된 이미지를 만들 수 있습니다. 다음과 같이다른 컴퓨터에서 동일한 URL과 동일한 파일 구조를 가진 파일을 읽을 수 없습니다.

public class MorphImage { 
private final String URL0 = "pic1.jpg"; 

//.... 

URL url = getClass().getResource(URL0); 
File file = new File(url.getPath()); 
BufferedImage img = ImageIO.read(file); 

내 파일 구조는 다음과 같습니다 :이 예를 들어 관련성이없는 코드를 생략 한 윈도우 10를 실행 내 노트북에

projectName 
      src 
       package1 
         MorphImage.java 
         pic1.jpg 

, 이것은 잘 작동하지만,에 동일한 프로젝트를 사용하여 내 Windows 8 PC에서 마지막 행에 IIOException: Can't read file!이 표시됩니다. 두 컴퓨터 모두 동일한 Eclipse 버전과 동일한 JDK 버전을 사용합니다. 나는 여기서 무엇을해야할지 모르겠다. 내 Windows 8 컴퓨터에서 많은 다른 파일 경로를 시도했지만 대신 NP 만 throw하므로 경로가 정확합니다.

편집 : 아래 해결 방법 :..

URL defaultImage = MorphImage.class.getResource(URL0); 
    File file = new File(defaultImage.toURI()); 
    BufferedImage img = ImageIO.read(file); 

답변

0

봅니다

getClass() getClassLoader를() 같이 getResourceAsStream ("package1/pic1.jpg"아래의 파일 경로, 자원 스트림으로 얻을 수);

+0

사실이 기능 덕분에 솔루션을 내 게시물에 맞게 편집 할 수 있습니다. – korv