У меня есть сервлет в Tomcat 5.5, который читает локальные изображения, находящиеся в папке. Затем изображение отправляется обратно в апплет.
Я получаю это "javax.imageio.IIOException: не удается создать ImageInputStream!" ошибка и не уверен, что ее вызывает.
У кого-нибудь была эта проблема раньше? Может ли это быть проблемой с потоком в ImageIO? Я не могу воспроизвести эту проблему, так как она возникает примерно 3 раза на каждые 1000 запросов.
РЕДАКТИРОВАТЬ: это код сервлета, который читает изображение. Я просто использую ImageIO.read(File) в его статической форме внутри метода doPost сервлета так же, как показано ниже:
doPost(req,resp){
...
BufferedImage image = ImageIO.read(imageFile);
...
}
Вот исходный код для javax.imageio.ImageIO.read(File):
public static BufferedImage read(File input) throws IOException {
if (input == null) {
throw new IllegalArgumentException("input == null!");
}
if (!input.canRead()) {
throw new IIOException("Can't read input file!");
}
ImageInputStream stream = createImageInputStream(input);
if (stream == null) {
throw new IIOException("Can't create an ImageInputStream!");
}
BufferedImage bi = read(stream);
if (bi == null) {
stream.close();
}
return bi;
}
createImageInputStream
, но неясно, является ли это статически импортированным вызовом ImageInputStream.createImageInputStream или чем-то еще. - person Jon Skeet   schedule 03.08.2011ImageIO.createImageInputStream(...)
. - person Thomas   schedule 03.08.2011