请问java如何判断一个文件类型

三味书屋 2012-06-27 05:40:22
请问怎么判断一个文件(doc,wps,excel,ppt,pdf)等文件,除了判断后缀以外的方法,我用文件头去判断,但是doc,wps,excel都是一样的格式,请问应该怎么判断,一个文件的维一表示啊。
...全文
18960 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
sbxm123power123 2014-07-30
  • 打赏
  • 举报
回复
xls和doc文件有解决办法了吗?
hotsaysauce2 2012-07-06
  • 打赏
  • 举报
回复
首先得到文件名,然后截掉最后一个.之前的字符串,就能得到格式喽
String filename = file.getName();
String str=filename.subString(filename.lastIndexOf(".")+1);
三味书屋 2012-06-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
你看这个行不行 我试过了 还可以
先拿到源文件的名,然后判断后缀名
System.out.println(new File("F:\\123.jpg").getName().endsWith(".jpg"));
[/Quote]

这个方式不行的,123.jsp,后缀没有只有123
三味书屋 2012-06-27
  • 打赏
  • 举报
回复
FILE_TYPE_MAP.put("xls", "D0CF11E0"); //MS Word
FILE_TYPE_MAP.put("doc", "D0CF11E0"); //MS Excel 注意:word 和 excel的文件头一样

这个是一样的,我试过,就是想获取唯一标示类型的
brightyq 2012-06-27
  • 打赏
  • 举报
回复
读取文件头吧,后缀名不太可靠。
http://happyprince.iteye.com/blog/1508358
http://apps.hi.baidu.com/share/detail/31663995
llimmorta 2012-06-27
  • 打赏
  • 举报
回复
可以先定义一个数组或者集合装你需要的文件后缀名
然后使用两个FOR循环
外层不断的拿文件,内层遍历数组做endsWith比较,思路应该可以的。
llimmorta 2012-06-27
  • 打赏
  • 举报
回复
你看这个行不行 我试过了 还可以
先拿到源文件的名,然后判断后缀名
System.out.println(new File("F:\\123.jpg").getName().endsWith(".jpg"));
三味书屋 2012-06-27
  • 打赏
  • 举报
回复
hashCode是不行的哦
huage 2012-06-27
  • 打赏
  • 举报
回复
直接hashCode()一下来看是不是一样的

67,541

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧