Java通过流判断文件的类型

1.需求:需要判断文件是什么类型,且不能通过扩展名判断
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

格式文件头
JPEG (jpg)FFD8FFE1
PNG (png)89504E47
GIF (gif)47494638
TIFF (tif)49492A00
Windows Bitmap (bmp)424D
CAD (dwg)41433130
Adobe Photoshop (psd)38425053
Rich Text Format (rtf)7B5C727466
XML (xml)3C3F786D6C
HTML (html)68746D6C3E
Email [thorough only] (eml)44656C69766572792D646174653A
Outlook Express (dbx)CFAD12FEC5FD746F
Outlook (pst)2142444E
MS Word/Excel (xls.or.doc)D0CF11E0
MS Access (mdb)5374616E64617264204A
WordPerfect (wpd)FF575043
Postscript (eps.or.ps)252150532D41646F6265
Adobe Acrobat (pdf)255044462D312E
Quicken (qdf)AC9EBD8F
Windows Password (pwl)E3828596
ZIP Archive (zip)504B0304
RAR Archive (rar)52617221
Wave (wav)57415645
AVI (avi)41564920
Real Audio (ram)2E7261FD
Real Media (rm)2E524D46
MPEG (mpg)000001BA
MPEG (mpg)000001B3
Quicktime (mov)6D6F6F76
Windows Media (asf)3026B2758E66CF11
MIDI (mid)4D546864
private static byte[] getFormat(File f) {
        try (DataInputStream dataInputStream = new DataInputStream(new BufferedInputStream(new FileInputStream(f)))) {
        //要读取几个字节具体看文件头的长度
            byte[] bytes = new byte[4];
            dataInputStream.read(bytes);
            return bytes;
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
    ```

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值