收集各种文件类型的文件头信息

paodan 2009-09-07 01:45:17
为了识别没有扩展名或者扩展名错误的文件类型,收集一下各种文件类型的文件头的信息,希望是常见的办公文档(ms office,pdf,html,txt,chm,wps等),图像文件,其他类型的也可以,或者大家有判断一个没有扩展名的文件的类型的方法或者想法也可以说说,我用ultraEdit看了16进制编辑格式,没有找到文件类型信息在哪里
...全文
2252 27 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuyueshenga 2010-05-18
  • 打赏
  • 举报
回复
一般都是前面四个字节???

字节????我狂恐。楼主出生赶上了好时代!!!

楼主大人果然厉害,不过我只想说,就你家的文件头前四个字节来表示扩展名。一个字节等于多少?你自己回头想想去。
  • 打赏
  • 举报
回复
office的文件头信息是一样的如何区别呢???
paodan 2009-09-09
  • 打赏
  • 举报
回复
谢谢大家
hanwangabc 2009-09-08
  • 打赏
  • 举报
回复
好贴,帮顶
  • 打赏
  • 举报
回复
Java 编译后的 .class 文件 magic number 的头 4 个字节是 CA FE BA BE
flyinghawl 2009-09-08
  • 打赏
  • 举报
回复
[Quote=引用楼主 paodan 的回复:]
为了识别没有扩展名或者扩展名错误的文件类型,收集一下各种文件类型的文件头的信息,希望是常见的办公文档(ms office,pdf,html,txt,chm,wps等),图像文件,其他类型的也可以,或者大家有判断一个没有扩展名的文件的类型的方法或者想法也可以说说,我用ultraEdit看了16进制编辑格式,没有找到文件类型信息在哪里
[/Quote]

你使用jackata的commens组件里面的包,看看能不到找到判断文件格式的方法,不过没有扩展名确实困难点
hy158753228 2009-09-08
  • 打赏
  • 举报
回复
我想借这问个问题:
我们在设置java中某个容器的背景图片时,要实际的一张图片来做。我在想,能不能将我所要用到的所有图片的字节数据保存到一个数据文件中(这样可以增强保密性吧),要哪张时直接从数据文件中读那段数据,然后将读到的字节数据设置成背景。
我只是想多学点东西。
justinavril 2009-09-08
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 paodan 的回复:]
引用 4 楼 justinavril 的回复:
引用 3 楼 paodan 的回复:
引用 2 楼 rumlee 的回复:
只有部分类型是有的,例如office文件是可以判断的,但是入txt、html这些本身就是文本格式文件,是没有办法判断的。
怎样判断呢

按字节读文件
txt的文件头信息是不同的,我打开两个txt,文件头都不同
[/Quote]
因为txt有好几种编码格式呢

利用第三方的Jar包内的类和方法来判别文件编码
  • 打赏
  • 举报
回复
这个具体得看需求

一般是办公文档和图片信息
paodan 2009-09-08
  • 打赏
  • 举报
回复
按位读入来比较
Gere Yeung 2009-09-07
  • 打赏
  • 举报
回复
学习了,还是没记住
24K純帥 2009-09-07
  • 打赏
  • 举报
回复
帮顶。。
liangwansheng 2009-09-07
  • 打赏
  • 举报
回复

好多啊。。。
paodan 2009-09-07
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 spiniper 的回复:]
你们所说的文件头正式一点的说法是"魔数(magic)",这是应用程序为了识别这个文件是自己能够识别的文件类型而创立的,一般文件都是由应用程序创建的,创立的时候就会在文件的前8位来设定这个值(也可能不是8位),[/Quote]一般都是前面四个字节
树成 2009-09-07
  • 打赏
  • 举报
回复
你们所说的文件头正式一点的说法是"魔数(magic)",这是应用程序为了识别这个文件是自己能够识别的文件类型而创立的,一般文件都是由应用程序创建的,创立的时候就会在文件的前8位来设定这个值(也可能不是8位),因为根据后缀来识别文件类型太脆弱了。不过不是所有文件都有魔数的,文本文件(包括执行脚本)与一些可执行程序没有魔数,也有些应用程序创建自己可以识别的文件类型也不是根据魔数,而是后缀名,这要看应用程序的不同而不同对待。而且就算是同一应用程序的不同版本所创立的文件魔数也有可能不同,版本号也可能是魔数的一部分。
paodan 2009-09-07
  • 打赏
  • 举报
回复
顶起
fztjava 2009-09-07
  • 打赏
  • 举报
回复
有的有,但有的没有
paodan 2009-09-07
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 dyflovexlp 的回复:]
QQ:409782976,传一个辨别图像文件的格式的java类!能辨别很多图像文件
[/Quote]发邮件可以吗?paodanabc@hotmail.com
dyflovexlp 2009-09-07
  • 打赏
  • 举报
回复
QQ:409782976,传一个辨别图像文件的格式的java类!能辨别很多图像文件
paodan 2009-09-07
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 viszl 的回复:]
啊,看错LZ题目了,就当我没有回复
[/Quote]呵呵,没关系,学习了
加载更多回复(7)

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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