Scanner
으로 읽은 표준 텍스트 파일이 있는데 첫 번째 행에는 읽을 이미지 이름 (텍스트 파일과 같은 폴더에 있음)이 들어있는 경우 어떻게 파일 이름을 사용하여 파일을로드 할 수 있습니까? 화면에 표시 할 이미지? 지금 당장은 "입력 파일을 읽을 수 없습니다!"라고 말하는 javax.imageio.IIOException
이 나타납니다. 왜 안되는지 알 수 없습니다.filename이 외부 텍스트 파일에 정의되어있을 때 어떻게 파일을로드 할 수 있습니까?
MapBig.jpg
2
5
439 203 405 253 431 280 499 257 495 217
5
57 147 164 72 190 127 105 300 70 260
여기를 읽어 내 코드입니다 :
다음은 텍스트 파일의 in
이 Scanner
의 인스턴스 image = ImageIO.read(new File(in.nextLine()));
.
텍스트 파일에 ./MapBig.jpg
을 사용해 보았는데 동일한 문제가 발생합니다.
나는 또한이 파일은 내 프로젝트의 소스 폴더에 나는 파일 MapBig.jpg
로 다시 ..., 같은 폴더를 ClassLoader.getSystemResourceAsStream("map.data");
를 사용하여 텍스트 파일을 읽고 있어요 주목해야한다 가정 다음은 오류가 발생했을 때 스택 추적입니다.
javax.imageio.IIOException: Can't read input file!
at javax.imageio.ImageIO.read(Unknown Source)
at graphics.MapPanelSettings.<init>(MapPanelSettings.java:32)
at graphics.GameFrame.initialize(GameFrame.java:71)
at graphics.GameFrame.<init>(GameFrame.java:49)
at game.GameLauncher.main(GameLauncher.java:9)
귀하의 질문에 정답을 주려고했지만 스택 추적 오류를 게시 할 수 있습니까? 그래서 우리는 쉽게 어떤 문제가 발생하는지 볼 수 있습니까? 미리 감사드립니다. –
스택 추적을 기반으로합니다. 실제로 잘못된 입력 파일입니다. 입력 파일을 읽을 수 없으므로 파일을 잘못로드 한 것일 수 있습니다. 또한'resources' 디렉토리가 올바르게 배치되었는지 확인해야합니다. 이 디렉토리는 ** 당신의'src' 디렉토리 안에 ** 있어야합니다. 나는이 대답을 더 자세히 설명했다. –