ImageInputStream
こんにちは、オブジェクトを使用してオブジェクトを取得しようとすると、例外、警告、またはエラーなしでImageIO.createImageInputStream
返されます。null
関数にさまざまなデータ型、 simple File
、および を渡そうとしましたInputStream
が、両方とも返さnull
れました。ドキュメントには、適切なものImageInputStreamSpi
が見つからない場合、関数は を返すと書かれてnull
いますが、ファイルはボグ標準の JPEG であり、Java にはすぐに使用できるそのような形式のサービス プロバイダーが付属していますか? 御時間ありがとうございます。
/**
* Reads in an image from a file and returns the image in a
* {@code BufferedImage} object.
*
* @param source the file to create the {@code BufferedImage}
* from.
* @return the {@code BufferedImage} object representing the image
* in {@code source}.
*/
private BufferedImage readImage( File source ) {
// There is only one image in this file
final int imageIndex = 0;
BufferedImage image = null;
try {
// Get the ImageReader object for this filetype
Iterator readers =
ImageIO.getImageReaders( source );
ImageReader reader = (ImageReader) readers.next();
// Create an ImageInputStream object from the source image file
ImageInputStream iis = ImageIO.createImageInputStream( source );
// Raises IllegalArgumentException, because iis is null
reader.setInput( iis, true );
// Read the image file
image = reader.read( imageIndex );
} catch ( Exception exception ) {
exception.printStackTrace();
System.exit( -1 );
}
return image;
}