java 判断文件是否为图片2

前面写了篇博客,多种方式判断一个文件是否为图片。在实际使用中发现方式二,没有兼容exif 格式的图片。这里补正一下。

前一篇博客地址:http://blog.csdn.net/jiangzeyin_/article/details/74972661

 public static String getImageType(File srcFilePath) {
        FileInputStream imgFile;
        byte[] b = new byte[10];
        int len;
        try {
            imgFile = new FileInputStream(srcFilePath);
            len = imgFile.read(b);
            imgFile.close();
        } catch (Exception e) {
            return null;
        }
        if (len != b.length) {
            return null;
        }
        byte b0 = b[0];
        byte b1 = b[1];
        byte b2 = b[2];
        byte b3 = b[3];
        byte b6 = b[6];
        byte b7 = b[7];
        byte b8 = b[8];
        byte b9 = b[9];
        if (b0 == (byte) 'G' && b1 == (byte) 'I' && b2 == (byte) 'F') {
            return "gif";
        }
        if (b1 == (byte) 'P' && b2 == (byte) 'N' && b3 == (byte) 'G') {
            return "png";
        }
        if (b6 == (byte) 'J' && b7 == (byte) 'F' && b8 == (byte) 'I' && b9 == (byte) 'F') {
            return "jpg";
        }
        if (b6 == (byte) 'E' && b7 == (byte) 'x' && b8 == (byte) 'i' && b9 == (byte) 'f') {
            return "exif";
        }
        return null;
    }

其实从方式二中,可以发现方式三也同理没有兼容exif 格式。

现在这个方法也没有完全,兼容所有格式的图片。这里我们就需要根据自己的需求自行补充了

时间: 2024-10-30 10:18:51

java 判断文件是否为图片2的相关文章

java 文件问题-如何使用java判断文件写入成功

问题描述 如何使用java判断文件写入成功 我使用了FileItem类将文件写入到服务器,但是我该如何判断是否写入成功,文件已经存在那个地址上 解决方案 你在去那个地址取一下,判断是否存在就行了 解决方案二: FileStream吧,这个是同步的,也就是说,写完函数才返回.所以自然你执行后面的语句就是写完了. 解决方案三: File file = new File("D://new.txt"); if(file.exists()){ //文件已存在 //file.delete();删除

JAVA判断文件编码类型

[本文转载于JAVA判断文件编码类型] java读取文件,处理过程中,可能因为文件的编码问题导致了中文乱码.有时需要将UTF-8的改为ANSI的编码.以下代码就可以判断文件是什么编码方式. 主要jar包:cpdetector.jar  下载地址http://cpdetector.sourceforge.net/  同时还需jchardet-1.0.jar这个包,否则detector.add(cpdetector.io.JChardetFacade.getInstance());  会报错: 下载

java压缩文件和下载图片示例_java

本文实例为大家分享了java压缩文件和下载图片示例,供大家参考,具体内容如下 主页面index.xml <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <html> <head> <title>项目的主页</title> </head> <body> <h2>主页

java 多种方式判断文件是否为图片

在很多时间我们需要判断一个文件是否为图片,再或者我们需要获取一个文件的类型是否为我们需要的(这种场景在上传文件接收的时候,非常必要) 方式一:使用ImageIO 判断图片宽高 public static boolean isImage(InputStream inputStream) { if (inputStream == null) { return false; } Image img; try { img = ImageIO.read(inputStream); return !(img

Java判断文件编码,转换编码及解决中文乱码

 代码如下 复制代码 try {    File file = new File(lrcPath);      // 获取原始文件编码    CodepageDetectorProxy detector = CodepageDetectorProxy.getInstance();    detector.add(JChardetFacade.getInstance());    Charset charset = null;    charset = detector.detectCodepag

java-十万火急::Java判断服务器的文件是否存在如果不存在就上传、如果存在,在上传的时候删除文件

问题描述 十万火急::Java判断服务器的文件是否存在如果不存在就上传.如果存在,在上传的时候删除文件 我是新人没有悬赏.还希望大牛们 能帮帮我 Java判断服务器的文件是否存在如果不存在就上传.如果存在,在上传的时候删除文件完成文件上传. 解决方案 java判断文件夹是否存在并上传文件 解决方案二: 做个接口,出入文件名,判断是否存在,返回结果给你就行了

关于java判断oracle中的表是否存在,不存在则创建一个表的问题

问题描述 关于java判断oracle中的表是否存在,不存在则创建一个表的问题 代码如下try{ Class.forName(""oracle.jdbc.driver.OracleDriver""); String url = ""jdbc:oracle:thin:@""+localhost+"":""+port+"":""+dbname; con

java删除文件 图片 与文件夹目录与文件

/** * 删除单个文件 * @param filename 要删除的文件的文件名 * @return 单个文件删除成功返回true,否则返回false */ public static boolean deletefile(string filename) { file file = new file(filename); // 如果文件路径所对应的文件存在,并且是一个文件,则直接删除 if(file.exists() && file.isfile()) { if(file.delete

ASP.NET如何判断目录下的文件是否为图片

ASP.NET MVC应用程序的UploadFiles目录,是存放用户上传的文件,当然包括图片.现在开发的要求是,显示所有用户上传图片作为列表,呈现给用户. 如果直接去显示,也许某些文件不是图片文件.还有可能是用户上传时,更改了扩展名.真实不是图片的,改为了图片相关的扩展名.即是说,现在要做的是过滤出真正的图片文件出来. 在应用程序的Utilities目录中,创建一个ImageUtility的类别: 有两个函数,第一个public static string Base64String(strin