在工作中遇到了一个将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文件的工具类,封装了常用的操作,尤其针对文件的实际类型,通过获取文件的byte,来查看文件起始字节的魔数值,通过魔数值来判断文件的类型,工具集合了常用的文件类型对应的魔数,也封装了文件类型的判断方法
java 中的文件判断是指判断文件的类型,java 提供了多种方式来判断文件类型,这篇文章将介绍其中的一些。 文件类型判断的重要性在于,当我们需要下载或打开文件时,需要根据文件类型来选择相应的处理方式。例如,...
根据头信息判断文件类型是计算机科学中的一个常见技术,它基于这样一个事实:大多数文件格式在开始部分都会包含一些特定的字节序列,这些序列被称为“魔术数字”或“文件签名”,用于标识文件的类型。这种方法在很多...
#### 一、图片文件格式判断技术背景 在处理图像时,经常需要识别一张图片的具体格式,比如 JPEG、PNG 或 BMP 等。这不仅是为了更好地进行图片展示,也是为了能够根据不同的格式采取相应的优化措施。在 Java 开发中...
JAVA 根据Url 接口 获取文件名称和类型,亲测可用。输入参数地址即可。
有些软件通过改变文件的扩展名隐藏文件的真实类型。例如,有些游戏的音乐和动画其实是标准的MID和AVI文件...现在编写一个程序,使它从一个配置文件中获得字符串与文件类型的对应表,然后判断用户指定的文件的真实类型!
### Java获取网页中图片的方法与判断网页代码中是否包含有效图片 在当今互联网时代,从网页中抓取图片是常见的需求之一,特别是在数据抓取、网络爬虫或内容分析等应用中。Java作为一种广泛使用的编程语言,提供了...
本篇文章将深入探讨如何在Java中通过读取文件流的头二十个字节来判断文件类型。 首先,我们要理解为什么需要通过文件流的字节来判断类型。文件的后缀名仅仅是人为设定的标识,有时可能被篡改或丢失,而文件的实际...
在Java编程中,获取文件的...通过以上方法,开发者可以更准确地判断Java应用程序中处理的文件类型,提高程序的健壮性和安全性。在实际开发中,根据具体需求,可能还需要结合其他策略来进一步确保文件类型的正确识别。
第一个方法是使用ImageIO库来判断图片格式。我们可以使用ImageIO.createImageInputStream方法来获取图片的输入流,然后使用ImageIO.getImageReaders方法来获取图片的格式名称。如果格式名称不是JPEG,那么我们就可以...
在实际项目中,我们可能需要根据文件扩展名来判断文件类型,然后调用相应的处理方法。例如: ```java String extension = file.getName().substring(file.getName().lastIndexOf(".") + 1); if ("txt"....
此外,编程语言如Python、Java等也有相应的库,如Python的`mimetypes`模块和Java的`Magic Number`机制,可以方便地实现文件类型的检测。 3. **源码实现**: 博文中可能包含源码示例,展示如何在代码中手动解析文件...
2. Java 获取和判断文件头信息:如何使用 Java 语言来获取和判断文件头信息,包括如何使用 MultipartFile 对象来获取文件信息,以及如何判断文件的类型和大小等信息。 3. Ajax 文件上传:如何使用 Ajax 方式上传文件...
在提供的压缩包文件中,“如何判断文件类型.pdf”和“Java判断文件类型.pdf”很可能是关于这两个主题的详细教程,可以帮助用户深入了解如何进行文件类型的识别。而“triddefs_xml.rar”可能包含TrIDNet的识别规则库...
更准确的方法是使用FileInputStream读取文件的头部几个字节,根据这些字节的二进制模式来识别文件类型,例如图片、音频、视频等。 2. 文件读取:Java提供了多种流类来读取文件,如BufferedReader、DataInputStream...
在本主题中,我们关注的是如何利用Java解析DXF(Drawing Exchange Format)文件,这是一种由AutoCAD软件生成的二进制或ASCII格式的文件,用于存储二维图形数据。DXF文件通常包含各种几何实体,如圆(circle)、椭圆...
为了确保用户体验并防止服务器资源被滥用,前端通常需要对上传的文件进行一系列的验证,如文件大小、文件类型等。本文将详细介绍如何利用JavaScript(简称JS)来实现这些功能,并与Java Server Pages (JSP)结合使用...
验证文件类型,看看所选文件是不是图片: 代码如下: //文件类型: protected bool IsAllowableFileType(string FileName) { //从web.config读取判断文件类型限制 string stringstrFileTypeLimit; string
3. **忽略文件类型**:除了过滤文件类型,该工具还提供了忽略某些文件的能力,这可能是为了避开系统文件或特定的应用程序文件,以避免误删。忽略列表同样可以通过配置文件或代码参数进行设置。 4. **文件比较策略**...
为了提高识别的准确性,我们可以依据文件头信息来判断文件类型。文件头通常包含特定的字节序列,这些序列是文件格式的标识符。 本文将详细介绍一种在Android中使用Java根据文件头获取文件类型的实现方法。这个方法...