Méthode Java pour déterminer s'il s'agit d'une image :
1 Déterminez s'il s'agit d'une image en jugeant le nom du suffixe du fichier
String extension = ""; int i = fileName.lastIndexOf('.'); if (i > 0) { extension = fileName.substring(i+1); } //... if("jpg".equals(extension)){ //your code }
2. Déterminez s'il s'agit d'une image en jugeant l'en-tête du fichier
Si le suffixe est inconnu ou si le suffixe a été modifié, l'en-tête du fichier peut toujours être utilisé pour déterminer de quel type de fichier il s'agit. Nous pouvons utiliser un outil d'édition de texte tel qu'UltraEdit pour ouvrir le fichier (en mode hexadécimal), puis voir quels caractères se trouvent dans l'en-tête du fichier. Voici les caractères d'en-tête de fichier pour les types d'images courants (hexadécimaux)JPEG (jpg),文件头:FFD8FF PNG (png),文件头:89504E47 GIF (gif),文件头:47494638 TIFF (tif),文件头:49492A00 Windows Bitmap (bmp),文件头:424D
public class ImageCheck {
private MimetypesFileTypeMap mtftp;
public ImageCheck(){
mtftp = new MimetypesFileTypeMap();
/* 不添加下面的类型会造成误判
mtftp.addMimeTypes("image png tif jpg jpeg bmp");
}
public boolean isImage(File file){
String mimetype= mtftp.getContentType(file);
String type = mimetype.split("/")[0];
return type.equals("image");
}
}
try {
// 通过ImageReader来解码这个file并返回一个BufferedImage对象
// 如果找不到合适的ImageReader则会返回null,我们可以认为这不是图片文件
// 或者在解析过程中报错,也返回false
Image image = ImageIO.read(file);
return image != null;
} catch(IOException ex) {
return false;
}
Pour plus de connaissances sur Java, veuillez prêter attention au
tutoriel de base JavaCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!