`

java判断图片文件类型

 
阅读更多

    在工作中遇到了一个将bmp文件转为jpg文件的工作(因为bmp文件太大,后期的处理可能遇到问题,所以转为jpg会有失真,但对我们的程序不会有太大影响。),对于bmp转jpg的话java本身就提供了很好的支持,所以不用过多的关注,如果不知道的话可以看看下面的文章:

地址--http://blog.csdn.net/shixing_11/article/details/5731050

    但是,对于图片的格式通过后缀名判断是不准确的,因为我们可以去手动的更改后缀名,但是文件大小和本质是不会变的,所以要用java对文件进行判断,如果是bmp文件就转成jpg,如果不是直接入库。从网上找了几个方法,试了下下面的好使,不说废话直接上代码(有部分改动,也可以更改之后判断用作上传的是不是图片)。

public static String getImageType(String path) throws IOException {   
        FileInputStream fis = new FileInputStream(path);   
		int leng = fis.available();   
		BufferedInputStream buff = new BufferedInputStream(fis);   
		byte[] mapObj = new byte[leng];   
		buff.read(mapObj, 0, leng);   
			
		String type = "";   
		ByteArrayInputStream bais = null;   
		MemoryCacheImageInputStream mcis = null;   
		try {   
			bais = new ByteArrayInputStream(mapObj);   
		    mcis = new MemoryCacheImageInputStream(bais);   
		   Iterator itr = ImageIO.getImageReaders(mcis);   
		    while (itr.hasNext()) {   
			    ImageReader reader = (ImageReader)  itr.next();   
			    String imageName = reader.getClass().getSimpleName();   
			    if(imageName!=null){
			    	if("GIFImageReader".equals(imageName)){
			    		type = "gif";
			     	}else if("JPEGImageReader".equals(imageName)){
			     		type = "jpg";
			     	}else if("PNGImageReader".equals(imageName)){
			     		type = "png";
			     	}else if("BMPImageReader".equals(imageName)){
			     		type = "bmp";
			     	}else{
			     		type = "noPic";
			     	}
			     }  
		     }   
		}catch (Exception e) {
			type = "noPic";	
		} finally {   
		    if (bais != null) {   
		        try {   
		            bais.close();   
		        } catch (IOException ioe) {   
		        }   
		    }   
		    if (mcis != null) {   
		        try {   
		            mcis.close();   
		        } catch (IOException ioe) {   
		        }   
		    }   
		}   
		return type;   
	}

 

 希望对大家有帮助

 

分享到:
评论

相关推荐

    java-文件工具,可以查看文件类型,文件魔数,可以判断是否是视频文件,音乐文件,图片文件等等

    java文件的工具类,封装了常用的操作,尤其针对文件的实际类型,通过获取文件的byte,来查看文件起始字节的魔数值,通过魔数值来判断文件的类型,工具集合了常用的文件类型对应的魔数,也封装了文件类型的判断方法

    java中的文件判断

    java 中的文件判断是指判断文件的类型,java 提供了多种方式来判断文件类型,这篇文章将介绍其中的一些。 文件类型判断的重要性在于,当我们需要下载或打开文件时,需要根据文件类型来选择相应的处理方式。例如,...

    根据头信息判断文件类型

    根据头信息判断文件类型是计算机科学中的一个常见技术,它基于这样一个事实:大多数文件格式在开始部分都会包含一些特定的字节序列,这些序列被称为“魔术数字”或“文件签名”,用于标识文件的类型。这种方法在很多...

    判断图片文件的格式

    #### 一、图片文件格式判断技术背景 在处理图像时,经常需要识别一张图片的具体格式,比如 JPEG、PNG 或 BMP 等。这不仅是为了更好地进行图片展示,也是为了能够根据不同的格式采取相应的优化措施。在 Java 开发中...

    JAVA 根据Url 接口 获取文件名称和类型

    JAVA 根据Url 接口 获取文件名称和类型,亲测可用。输入参数地址即可。

    判断文件的真实类型

    有些软件通过改变文件的扩展名隐藏文件的真实类型。例如,有些游戏的音乐和动画其实是标准的MID和AVI文件...现在编写一个程序,使它从一个配置文件中获得字符串与文件类型的对应表,然后判断用户指定的文件的真实类型!

    java获取网网页中出现的图片及判断网页代码中是否包含有效图片

    ### Java获取网页中图片的方法与判断网页代码中是否包含有效图片 在当今互联网时代,从网页中抓取图片是常见的需求之一,特别是在数据抓取、网络爬虫或内容分析等应用中。Java作为一种广泛使用的编程语言,提供了...

    文件类型判断java

    本篇文章将深入探讨如何在Java中通过读取文件流的头二十个字节来判断文件类型。 首先,我们要理解为什么需要通过文件流的字节来判断类型。文件的后缀名仅仅是人为设定的标识,有时可能被篡改或丢失,而文件的实际...

    java 获取文件的真实类型依赖.zip

    在Java编程中,获取文件的...通过以上方法,开发者可以更准确地判断Java应用程序中处理的文件类型,提高程序的健壮性和安全性。在实际开发中,根据具体需求,可能还需要结合其他策略来进一步确保文件类型的正确识别。

    Java判断上传图片格式的实例代码

    第一个方法是使用ImageIO库来判断图片格式。我们可以使用ImageIO.createImageInputStream方法来获取图片的输入流,然后使用ImageIO.getImageReaders方法来获取图片的格式名称。如果格式名称不是JPEG,那么我们就可以...

    Java源代码打开指定类型的文件.rar

    在实际项目中,我们可能需要根据文件扩展名来判断文件类型,然后调用相应的处理方法。例如: ```java String extension = file.getName().substring(file.getName().lastIndexOf(".") + 1); if ("txt"....

    根据文件头信息判断文件类型

    此外,编程语言如Python、Java等也有相应的库,如Python的`mimetypes`模块和Java的`Magic Number`机制,可以方便地实现文件类型的检测。 3. **源码实现**: 博文中可能包含源码示例,展示如何在代码中手动解析文件...

    SpringBoot文件上传控制及Java 获取和判断文件头信息

    2. Java 获取和判断文件头信息:如何使用 Java 语言来获取和判断文件头信息,包括如何使用 MultipartFile 对象来获取文件信息,以及如何判断文件的类型和大小等信息。 3. Ajax 文件上传:如何使用 Ajax 方式上传文件...

    TrIDNet判断文件类型

    在提供的压缩包文件中,“如何判断文件类型.pdf”和“Java判断文件类型.pdf”很可能是关于这两个主题的详细教程,可以帮助用户深入了解如何进行文件类型的识别。而“triddefs_xml.rar”可能包含TrIDNet的识别规则库...

    JAVA实现文件类型预处理

    更准确的方法是使用FileInputStream读取文件的头部几个字节,根据这些字节的二进制模式来识别文件类型,例如图片、音频、视频等。 2. 文件读取:Java提供了多种流类来读取文件,如BufferedReader、DataInputStream...

    用java解析DXF文件中的实体信息

    在本主题中,我们关注的是如何利用Java解析DXF(Drawing Exchange Format)文件,这是一种由AutoCAD软件生成的二进制或ASCII格式的文件,用于存储二维图形数据。DXF文件通常包含各种几何实体,如圆(circle)、椭圆...

    JS判断上传文件的大小类型等限制

    为了确保用户体验并防止服务器资源被滥用,前端通常需要对上传的文件进行一系列的验证,如文件大小、文件类型等。本文将详细介绍如何利用JavaScript(简称JS)来实现这些功能,并与Java Server Pages (JSP)结合使用...

    上传图片前判断文件格式与大小验证文件是不是图片

    验证文件类型,看看所选文件是不是图片: 代码如下: //文件类型: protected bool IsAllowableFileType(string FileName) { //从web.config读取判断文件类型限制 string stringstrFileTypeLimit; string

    查找重复文件和同名文件[java code]

    3. **忽略文件类型**:除了过滤文件类型,该工具还提供了忽略某些文件的能力,这可能是为了避开系统文件或特定的应用程序文件,以避免误删。忽略列表同样可以通过配置文件或代码参数进行设置。 4. **文件比较策略**...

    Android中Java根据文件头获取文件类型的方法

    为了提高识别的准确性,我们可以依据文件头信息来判断文件类型。文件头通常包含特定的字节序列,这些序列是文件格式的标识符。 本文将详细介绍一种在Android中使用Java根据文件头获取文件类型的实现方法。这个方法...

Global site tag (gtag.js) - Google Analytics