Heim >Java >JavaBase >Java bestimmt, ob es sich um ein Bild handelt

Java bestimmt, ob es sich um ein Bild handelt

尚
Original
2019-11-19 16:07:343660Durchsuche

Java bestimmt, ob es sich um ein Bild handelt

Java-Methode zur Bestimmung, ob es sich um ein Bild handelt:

1. Bestimmen Sie, ob es sich um ein Bild handelt, indem Sie den Dateisuffixnamen beurteilen

String extension = "";
int i = fileName.lastIndexOf('.');
if (i > 0) {
    extension = fileName.substring(i+1);
}
//...
if("jpg".equals(extension)){
    //your code
}

2. Bestimmen Sie, ob es sich um ein Bild handelt, indem Sie den Dateikopf beurteilen

Wenn das Suffix unbekannt ist oder geändert wurde, kann es immer noch der Dateikopf sein Wird verwendet, um den Dateityp der Datei zu bestimmen. Wir können ein Textbearbeitungstool wie UltraEdit verwenden, um die Datei zu öffnen (im Hexadezimalmodus) und dann sehen, welche Zeichen im Dateiheader enthalten sind. Im Folgenden sind die Dateiheaderzeichen für gängige Bildtypen (hexadezimal) aufgeführt:

JPEG (jpg),文件头:FFD8FF 
PNG (png),文件头:89504E47 
GIF (gif),文件头:47494638 
TIFF (tif),文件头:49492A00 
Windows Bitmap (bmp),文件头:424D

3. Bestimmen Sie durch MimetypesFileTypeMap

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");
    }

}

4. Bestimmen Sie durch ImageIO

try {
    // 通过ImageReader来解码这个file并返回一个BufferedImage对象
    // 如果找不到合适的ImageReader则会返回null,我们可以认为这不是图片文件
    // 或者在解析过程中报错,也返回false
    Image image = ImageIO.read(file);
    return image != null;
} catch(IOException ex) {
    return false;
}

Hinweis: Das anwendbare Bildformat für diese Methode ist bmp/ gif/jpg /png

Für weitere Java-Kenntnisse beachten Sie bitte das Java-Grundlagen-Tutorial.

Das obige ist der detaillierte Inhalt vonJava bestimmt, ob es sich um ein Bild handelt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

In Verbindung stehende Artikel

Mehr sehen