ImageIO.read (File)로 시도하지 않고 파일을 BufferedImage로 읽을 수 있는지 확인하는 방법이 있습니까?파일이 BufferedImage로 읽을 수 있는지 확인하십시오.
필자는 파일의 MIME 형식을 추출 할 수 있지만 BufferedImage 또는 이와 유사한 형식의 MIME 형식을 기본적으로 지원하는 목록이 있습니까?
ImageIO.read (File)로 시도하지 않고 파일을 BufferedImage로 읽을 수 있는지 확인하는 방법이 있습니까?파일이 BufferedImage로 읽을 수 있는지 확인하십시오.
필자는 파일의 MIME 형식을 추출 할 수 있지만 BufferedImage 또는 이와 유사한 형식의 MIME 형식을 기본적으로 지원하는 목록이 있습니까?
기본적으로 알 수는 없지만 ImageIO.getReaderMIMETypes()
은 의 목록을 제공합니다. 현재 독자를 지원합니다.
올바른 작업은 ImageIO.createImageInputStream(file)
일 것입니다. IOException을 발생시키지 않고 null을 반환하면 이미지를 읽을 수 없습니다.
ImageIO.read(file)
도 이 아니며은 지원되지 않는 MIME 형식에 대한 예외를 throw하므로 null을 반환합니다. 예외는 디코딩 할 수없는 (즉, 파일이 손상된) 지원되는 파일 또는 IO 오류 (명백하게)에 대해서만 예외가 발생합니다.
감사! 너무 빨리 javadoc을 읽고 그것은 오류가 발생했을 때만 통지하지 않았고 null이 아닌 이미지를 반환했습니다. :) –
마임 유형을 추출 할 때 호스트가 될 수 있는지 확인하고 사용 가능한 서비스 공급자를 찾아 실제로 MIME 유형을 읽을 수 있는지 확인하십시오. ImageIO.read를 수행하고 오류를 잡는 것이 더 빠를 것입니다. – MadProgrammer