| |
Detect the file type of the input stream prior to reading the image |
|
import java.awt.image.BufferedImage;
import java.net.URL;
import java.util.Iterator;
import javax.imageio.ImageIO;
import javax.imageio.ImageReader;
import javax.imageio.stream.ImageInputStream;
public class Main {
public static void main(String[] argv) throws Exception {
ImageInputStream imageStream = ImageIO.createImageInputStream(new URL("").openStream());
Iterator<ImageReader> readers = ImageIO.getImageReaders(imageStream);
ImageReader reader = null;
if (!readers.hasNext()) {
imageStream.close();
return;
} else {
reader = readers.next();
}
String formatName = reader.getFormatName();
if (!formatName.equalsIgnoreCase("jpeg") && !formatName.equalsIgnoreCase("png")
&& !formatName.equalsIgnoreCase("gif")) {
imageStream.close();
return;
}
reader.setInput(imageStream, true, true);
BufferedImage theImage = reader.read(0);
reader.dispose();
imageStream.close();
}
}
|
|
|
Related examples in the same category |
1. | Show Image with ImageReader | | | 2. | Add Image IO Read Progress Listener to ImageReader | | | 3. | Read an Image from a file | | | 4. | Read an Image from inputStream | | | 5. | Read an Image from URL | | | 6. | Determining the Format of an Image in a File | | | 7. | List the image formats that can be read and written | | | 8. | Get file format, image resolution, number of bits per pixel (JPEG, GIF, BMP, PCX, PNG, IFF, RAS, PBM, PGM, PPM, PSD and SWF files) | | | 9. | Image format info | | | 10. | Image observer blocks until the image is completely loaded. AWT defers the loading of images until they are painted on a graphic. | | |
|