파일이 정상적으로 발견 되더라도 다음 코드는 작동하지 않는 것 같습니다.ImageIO.read가 오류를 반환하지 않고 NULL을 반환합니다.
images = new BufferedImage[32];
FileInputStream fis = null;
for (int i = 0; i < 32; i++) {
File file = new File("tiles\\"+i+".bmp");
if (!file.exists()){
System.out.println("File "+i+" failed");
}
try {
fis = new FileInputStream(file);
} catch (FileNotFoundException e) {
System.err.println(e + "" + i);
}
try {
images[i] = ImageIO.read(fis);
} catch (IOException e) {
System.err.println(e + "" + i);
}
if (images[i] == null) {
System.out.println("Image "+i+" failed");
}
}
미리 도움을 청하십시오.
편집 : 그 결과는 Graphics.drawImage (images [0]);하려고 시도하고 나를 null 포인터 예외를 제공합니다. 이 코드는 여기까지 완료되었습니다.
수정 : 제안 된대로 if (! file.exists())를 이동하고 파일을 입력 스트림으로 래핑했습니다.
[RTFM] (http://docs.oracle.com/javase/7/docs/api/javax/imageio/ImageIO.html#read%28java.io.File%29) – mre
결과를 설명해 주시겠습니까? 야생 추측 : 부정확 한 경로 ... –
왜 테스트를하지 않습니까? (! file.exists()) System.out.println ("File"+ i + "failed"); 읽기 전에 ? –