有时候我们闲着无聊可能把.txt文本改成.jpg或.png.可是我们开发的时候可能读取都是按后缀名读取的,或许就可能把这一张伪造的图片也读了出来,可能给我们队开发造成一定的损害。那么我们怎么推断一个图片是真的图片还是假图片那:以下是方法:
public static void main(String[] args) throws IOException { File file=new File("C:/Documents and Settings/Administrator/桌面/aa.png"); System.out.println(isImageFile(file)); } public static boolean isImageFile(File file) { ImageInputStream iis = null; try { iis = ImageIO.createImageInputStream(file); // resFile为需被 Iterator<ImageReader> iter = ImageIO.getImageReaders(iis); if (!iter.hasNext()) {// 文件不是图片 System.out.println("此文件不为图片文件"); return false; } iis.close(); } catch (IOException e) { e.printStackTrace(); } return true; }
仅仅须要用这种方法就能够了:可能有的倒不了包,请把JDK升级到1.7在试试!