文件的真实类型如何利用java进行判断
短信预约 -IT技能 免费直播动态提醒
文件的真实类型如何利用java进行判断?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
具体代码如下:
package com.zhuifeng.util.excel; import java.io.FileInputStream; import java.io.IOException; import java.util.HashMap; public class CheckExcelFileTypeUtil { // 缓存文件头信息-文件头信息 public static final HashMap<String, String> mFileTypes = new HashMap<String, String>(); static { // images mFileTypes.put("FFD8FF", "jpg"); mFileTypes.put("89504E47", "png"); mFileTypes.put("47494638", "gif"); mFileTypes.put("49492A00", "tif"); mFileTypes.put("424D", "bmp"); // mFileTypes.put("41433130", "dwg"); // CAD mFileTypes.put("38425053", "psd"); mFileTypes.put("7B5C727466", "rtf"); // 日记本 mFileTypes.put("3C3F786D6C", "xml"); mFileTypes.put("68746D6C3E", "html"); mFileTypes.put("44656C69766572792D646174653A", "eml"); // 邮件 mFileTypes.put("D0CF11E0", "doc"); mFileTypes.put("D0CF11E0", "xls");//excel2003版本文件 mFileTypes.put("5374616E64617264204A", "mdb"); mFileTypes.put("252150532D41646F6265", "ps"); mFileTypes.put("255044462D312E", "pdf"); mFileTypes.put("504B0304", "docx"); mFileTypes.put("504B0304", "xlsx");//excel2007以上版本文件 mFileTypes.put("52617221", "rar"); mFileTypes.put("57415645", "wav"); mFileTypes.put("41564920", "avi"); mFileTypes.put("2E524D46", "rm"); mFileTypes.put("000001BA", "mpg"); mFileTypes.put("000001B3", "mpg"); mFileTypes.put("6D6F6F76", "mov"); mFileTypes.put("3026B2758E66CF11", "asf"); mFileTypes.put("4D546864", "mid"); mFileTypes.put("1F8B08", "gz"); } public static String getFileType(String filePath) { // System.out.println(getFileHeader(filePath)); // System.out.println(mFileTypes.get(getFileHeader(filePath))); return mFileTypes.get(getFileHeader(filePath)); } public static String getFileHeader(String filePath) { FileInputStream is = null; String value = null; try { is = new FileInputStream(filePath); byte[] b = new byte[4]; is.read(b, 0, b.length); value = bytesToHexString(b); } catch (Exception e) { } finally { if (null != is) { try { is.close(); } catch (IOException e) { } } } return value; } private static String bytesToHexString(byte[] class="lazy" data-src) { StringBuilder builder = new StringBuilder(); if (class="lazy" data-src == null || class="lazy" data-src.length <= 0) { return null; } String hv; for (int i = 0; i < class="lazy" data-src.length; i++) { // 以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式,并转换为大写 hv = Integer.toHexString(class="lazy" data-src[i] & 0xFF).toUpperCase(); if (hv.length() < 2) { builder.append(0); } builder.append(hv); } // System.out.println(builder.toString()); return builder.toString(); } public static void main(String[] args) throws Exception { final String fileType = getFileType("E:\\补贴名单.xls"); System.out.println(fileType); }}
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
文件的真实类型如何利用java进行判断
下载Word文档到电脑,方便收藏和打印~
下载Word文档
猜你喜欢
文件的真实类型如何利用java进行判断
文件的真实类型如何利用java进行判断?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。具体代码如下:package com.zhuifeng.util.excel
2023-05-31
利用java怎么对二进制文件进行判断
利用java怎么对二进制文件进行判断?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。java 判断二进制文件的方法代码实现:public static boole
2023-05-31
Java 8中如何进行泛型的目标类型推断
Java 8中如何进行泛型的目标类型推断,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。简单理解泛型泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的
2023-06-17
如何利用java-RMI进行大文件传输
今天就跟大家聊聊有关如何利用java-RMI进行大文件传输,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。为什么要用RMI在这次的项目中,对于客户端与服务器之间的通信,想了许多办法,由
2023-06-17
Java如何实现获取和判断文件头信息工具类
小编给大家分享一下Java如何实现获取和判断文件头信息工具类,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Java实现的获取和判断文件头信息工具类用法,具体如下:
2023-05-30
类路径下的文件怎么利用Java进行读取
这篇文章将为大家详细讲解有关类路径下的文件怎么利用Java进行读取,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Java 读取类路径下的文件一、工具类代码ResourceLoadUtil.j
2023-05-31
2024-04-02
2024-04-02
2023-10-19
PHP8中如何使用Match表达式进行更简洁的条件判断?
PHP8中引入了一种新的条件判断语法——Match表达式(也称为模式匹配)。在之前的版本中,我们通常使用多个if-else语句来进行条件判断,而Match表达式的出现使得这一过程更加简洁和易读。本文将介绍PHP8中如何使用Match表达式,
2023-10-22
2024-04-02
2023-08-02
2023-10-02
2023-11-03
Java项目中的word文档如何利用Freemarker进行导出
本篇文章给大家分享的是有关Java项目中的word文档如何利用Freemarker进行导出,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。实现步骤1.用Microsoft Off
2023-05-31
2024-04-02
TXT文件的内容如何利用Java实现读取
本篇文章为大家展示了TXT文件的内容如何利用Java实现读取,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Java读取txt文件内容。可以作如下理解:首先获得一个文件句柄。File file = n
2023-05-31
maven如何利用springboot的配置文件进行多个环境的打包
这篇文章主要介绍了maven如何利用springboot的配置文件进行多个环境的打包,在SpringBoot中多环境配置文件名需要满足application-{profiles.active}.properties的格式,其中{profiles.active}对应你的环境标识,本文给大家详细讲解,需要的朋友可以参考下
2023-02-08
2023-10-19
2023-06-16