- 浏览: 1367541 次
- 性别:
- 来自: 江西
文章分类
- 全部博客 (287)
- oracle (30)
- Java (73)
- MySQL (16)
- Myeclipse/eclipse (12)
- javascript (15)
- JSP/Servlet (7)
- maven (14)
- AJAX (2)
- JQuery (9)
- tomcat (8)
- spring (21)
- Linux (28)
- PHP (9)
- UI (1)
- 编程错误及处理 (38)
- 多线程 (18)
- hibernate (10)
- Web Service (3)
- struts2 (6)
- log4j (3)
- SVN (4)
- DWR (1)
- lucene (1)
- 正则表达式 (4)
- jstl (2)
- SSL (3)
- POI (1)
- 网络编程 (1)
- 算法 (2)
- xml (4)
- 加密解密 (1)
- IO (7)
- jetty (2)
- 存储过程 (1)
- SQL Server (1)
- MongoDB (1)
- mybatis (1)
- ETL (1)
- Zookeeper (1)
- Hadoop (5)
- Redis (1)
- spring cloud (1)
最新评论
-
ron.luo:
牛逼,正解!
maven设定项目编码 -
lichaoqun:
java.sql.SQLException: Can't call commit when autocommit=true -
Xujian0000abcd:
Thanks...
Cannot proxy target class because CGLIB2 is not available. Add CGLIB to the clas -
renyuan2ni:
[i][b][u]引用[list]
[*][img][flas ...
Manual close is not allowed over a Spring managed SqlSession -
851228082:
宋建勇 写道851228082 写道<!-- 文件拷贝时 ...
maven设定项目编码
package cn.com.songjy.test.io; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import javax.imageio.ImageIO; import javax.imageio.ImageReader; import javax.imageio.stream.ImageInputStream; public class FileTypeUtils { public final static Map<String, String> FILE_TYPE_MAP = new HashMap<String, String>(); private FileTypeUtils() { } static { getAllFileType(); // 初始化文件类型信息 } /** * Created on 2013-1-21 * <p> * Discription:[getAllFileType,常见文件头信息] * * @author:shaochangfu */ private static void getAllFileType() { FILE_TYPE_MAP.put("jpg", "FFD8FF"); // JPEG (jpg) FILE_TYPE_MAP.put("png", "89504E47");// PNG (png) FILE_TYPE_MAP.put("gif", "47494638");// GIF (gif) FILE_TYPE_MAP.put("bmp", "424D"); // Windows Bitmap (bmp) FILE_TYPE_MAP.put("zip", "504B0304");// zip 压缩文件 } public static void main(String[] args) throws Exception { File f = new File("/home/newpro/桌面/2013-1-17-2.png"); File f2 = new File("/home/newpro/桌面/Screenshot.Png"); File f3 = new File("/home/newpro/桌面/Screenshot.zip"); File f4 = new File("/home/newpro/桌面/svn插件1.6.zip"); // 判断是否是iamge,是image 并且后缀名 是 JPEG,PNG,GIF BMP System.out.println(isImage(f) + "is image"); System.out.println(isImage(f2) + "is image"); System.out.println(getImageFileType(f) + " is image"); System.out.println(getImageFileType(f2) + " is image"); // 判断是否是zip System.out.println(getFileByFile(f3) + " is zip"); System.out.println(getFileByFile(f4) + " is zip"); } /** * Created on 2013-1-21 * <p> * Discription:[getImageFileType,获取图片文件实际类型,若不是图片则返回null] * </p> * * @param File * @return fileType * @author:shaochangfu */ public final static String getImageFileType(File f) { if (isImage(f)) { try { ImageInputStream iis = ImageIO.createImageInputStream(f); Iterator<ImageReader> iter = ImageIO.getImageReaders(iis); if (!iter.hasNext()) { return null; } ImageReader reader = iter.next(); iis.close(); return reader.getFormatName(); } catch (IOException e) { e.printStackTrace(); return null; } catch (Exception e) { e.printStackTrace(); return null; } } return null; } /** * Created on 2013-1-21 * <p> * Discription:[getFileByFile,获取文件类型,包括图片,若格式不是已配置的,则返回null] * </p> * * @param file * @return fileType * @author:shaochangfu */ public final static String getFileByFile(File file) { String filetype = null; byte[] b = new byte[50]; try { InputStream is = new FileInputStream(file); is.read(b); filetype = getFileTypeByStream(b); is.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return filetype; } /** * Created on 2013-1-21 * <p> * Discription:[getFileTypeByStream] * </p> * * @param b * @return fileType * @author:shaochangfu */ public final static String getFileTypeByStream(byte[] b) { String filetypeHex = String.valueOf(getFileHexString(b)); Iterator<Entry<String, String>> entryiterator = FILE_TYPE_MAP .entrySet().iterator(); while (entryiterator.hasNext()) { Entry<String, String> entry = entryiterator.next(); String fileTypeHexValue = entry.getValue(); if (filetypeHex.toUpperCase().startsWith(fileTypeHexValue)) { return entry.getKey(); } } return null; } /** * Created on 2013-1-21 * <p> * Discription:[isImage,判断文件是否为图片] * </p> * * @param file * @return true 是 | false 否 * @author:shaochangfu */ public static final boolean isImage(File file) { boolean flag = false; try { BufferedImage bufreader = ImageIO.read(file); int width = bufreader.getWidth(); int height = bufreader.getHeight(); if (width == 0 || height == 0) { flag = false; } else { flag = true; } } catch (IOException e) { flag = false; } catch (Exception e) { flag = false; } return flag; } /** * Created on 2013-1-21 * <p> * Discription:[getFileHexString] * </p> * * @param b * @return fileTypeHex * @author:shaochangfu */ public final static String getFileHexString(byte[] b) { StringBuilder stringBuilder = new StringBuilder(); if (b == null || b.length <= 0) { return null; } for (int i = 0; i < b.length; i++) { int v = b[i] & 0xFF; String hv = Integer.toHexString(v); if (hv.length() < 2) { stringBuilder.append(0); } stringBuilder.append(hv); } return stringBuilder.toString(); } }
引自:http://ashaochangfu.blog.163.com/blog/static/10425173020130229186219/
参阅:http://blog.csdn.net/songylwq/article/details/6139753
发表评论
-
java.io.NotSerializableException: java.util.ArrayList$SubList
2016-03-15 11:36 2799错误信息: 原代码: if (null != dto ... -
java.lang.NoSuchMethodError
2015-10-30 19:50 1096在执行命令 java -Djava.ext.dirs=./de ... -
OutOfMemoryError
2015-01-07 10:49 644错误信息: 执行命令(修改前): java -Djava. ... -
自定义ClassLoader
2014-12-14 17:13 862一、自定义类加载器代码: package foo; im ... -
URL传递中文参数乱码问题
2014-03-14 12:55 1115项目特殊要求,form表单使用get方式提交,由此出现了中文乱 ... -
Java使用正则进行奇偶替换
2013-12-30 11:20 1562/** * 将位于偶数位的数字1替换为2 */ ... -
Java调用ping命令
2013-11-26 10:26 3640package cn.com.songjy; impor ... -
Linux开机启动Java程序
2013-11-25 15:26 3538一、编写启动Java程序shell脚本(smssend.sh) ... -
单例模式
2013-11-05 09:58 760Java之美[从菜鸟到高手演变]之设计模式 Java开发中 ... -
判定2个对象相等之重写equals方法
2013-10-18 11:03 1060package cn.com.songjy.test; ... -
SAX解析XML文件示例
2013-09-13 17:32 1014package cn.com.songjy.test.xml; ... -
二分查找算法(Binary Search)
2013-09-13 17:01 2377项目中遇到需要从数组中查找数据,但是算法很多,于是根据项目需求 ... -
Iterate over rows and cells(EXCEL文件的读取)
2013-09-13 14:13 4062package cn.com.songjy.test.exce ... -
jdk1.5的Exchanger同步工具
2013-08-27 14:04 662package cn.com.songjy.test.sock ... -
jdk1.5的CountDownLatch同步工具
2013-08-27 13:37 765package cn.com.songjy.test.sock ... -
jdk1.5的Semaphere同步工具
2013-08-23 14:20 1063package cn.com.songjy.test.so ... -
jdk1.5条件阻塞Condition的应用
2013-08-23 09:42 1332package cn.com.songjy.test.sock ... -
jdk1.5读写锁技术的妙用
2013-08-19 22:00 1365/** * ReadWriteLockTest.java ... -
jdk1.5的线程锁技术
2013-08-19 20:25 940/** * LockTest.java * cn.co ... -
Callable与Future的应用
2013-08-19 20:03 1035/** * CallableAndFuture.java ...
相关推荐
java通过文件头内容判断文件类型
主要介绍了java实现上传文件类型检测过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
本文实例讲述了Android中Java根据文件头获取文件类型的方法。分享给大家供大家参考,具体如下: 前面讲过Android系统内部的MediaFile类来获取文件类型的办法,这个类主要是根据文件的扩展名来判断,其准确性不是很好...
利用chardet,cpdetector包获取文件格式,并判断文件类型是否带BOM
主要介绍了Java实现的获取和判断文件头信息工具类,结合实例形式分析了Java针对文件读取及头信息判断相关操作技巧,需要的朋友可以参考下
从服务器上下载文件,遇到文件后缀名和文件编码不匹配的状况,找了一些方法通过读取文件流的头二十个字节判断文件真实的类型
主要介绍了SpringBoot文件上传控制的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
主要介绍了Java判断上传图片格式的实例代码,在文中给大家提到了Java使用文件头的类型判断上传的文件是否为图片类型,需要的朋友可以参考下
Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
当访问一个 Servlet 时,...C 判断指定名字的 HTTP 文件头是否存在 D 向客户端发送错误信息 pageContext 对象的 findAttribute() 方法的作用是 A.用来设置默认页面的范围或指定范围之中的已命名对象 B.用来删除默
//读取一个字节,获得文件头信息,判断发送信息类型(head or body) switch (cmd) { case 0x1: { ///文件信息 if (buflen >= 260) { FileSize = buf.getInt(); //获取文件大小 byte[] filename = new byte[255]; ...
Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...
pcm,wav,amr三种格式,采样率8K和16K的音频文件。很适合用来做语音识别的测试音频文件。
HelloNative.java 准备调用C函数的java文件 HelloNative.lib 用VC编译生成的静态库文件 HelloNative.obj 用VB编译生成的目标文件 HelloNativeTest.java 测试本地化是否成功的类文件 instanceVar.java 定义一个...
支持word、excel、ppt、wps、txt等多种格式转pdf、并支持pdf转word。个人感觉非常好用。
1.得到服务器下载文件的大小,然后在本地设置一个临时文件和服务器端文件大小一致 a)获得访问网络地址 b)通过URL对象的openConnection()方法打开连接,返回一个连接对象 c)设置请求头 i.setRequestMethod ii....
* 可达性分析法(Reachability Analysis):通过判断对象是否可以被 GC Roots 节点所达来判断对象是否死亡。 * finalize() 方法:通过对象的 finalize() 方法来判断对象是否死亡。 引用的 4 中情况 在 Java 中,...
1、解析图片的信息,支持图片的类型支持格式,如 jpg、 png、bmp、 cur、 dds、gif、 hdr (pic)、 ...2、本程序不是通过扩展名来识别图片格式,而是通过文件头和文件格式特征来判断图片格式。 3、兼容windows、Linux