原因和解决方案 因为前面有一个地方已经read(InputStream)了,在这之后,再次read就不行了。 重新将文件读取到InputStream,再read就可以了。 InputStream input = new FileInputStream(file); //比如这里我已经read了 ImageIO.read(input); //后面还需要read的话,需要重新读取到InputStream 不加这句就会返回null input = new FileInputStream(file); ImageIO.read(input); //友情提示 别忘了关闭流呀~