java 简易文件类型判断根据文件后缀

该工具类仅针对文件后缀进行判断,并非文件头。
存在bug,别人修改文件后缀。
如需使用更高安全性的,请使用判断文件头的方式。
参考地址:文件头判断
https://www.cnblogs.com/ios9/p/7476355.html

1:图片
2:文档 可进行细分
3:视频
4:音频
工具类,可自行修改值。
涵盖常用文件类型。

package com.space.utils;

import java.util.HashMap;
import java.util.Map;

public class FileTypeUtil {

	public final static Map<String, Integer> FILE_TYPE_MAP = new HashMap<String, Integer>();
	
	private FileTypeUtil() {}
	
	public static Integer getType(String url) {
		String fileTyle=url.substring(url.lastIndexOf(".")+1,url.length());
		Integer integer = FILE_TYPE_MAP.get(fileTyle.toLowerCase());
		if(integer == null) {
			return 5;
		}
		return integer; 
	}
	
	static
    {      
	    FILE_TYPE_MAP.put("bmp", 1);
	    FILE_TYPE_MAP.put("jpg", 1);
	    FILE_TYPE_MAP.put("jpeg", 1);
	    FILE_TYPE_MAP.put("png", 1);
	    FILE_TYPE_MAP.put("tiff", 1);
	    FILE_TYPE_MAP.put("gif", 1);
	    FILE_TYPE_MAP.put("pcx", 1);
	    FILE_TYPE_MAP.put("tga", 1);
	    FILE_TYPE_MAP.put("exif", 1);
	    FILE_TYPE_MAP.put("fpx", 1);
	    FILE_TYPE_MAP.put("svg", 1);
	    FILE_TYPE_MAP.put("psd", 1);
	    FILE_TYPE_MAP.put("cdr", 1);
	    FILE_TYPE_MAP.put("pcd", 1);
	    FILE_TYPE_MAP.put("dxf", 1);
	    FILE_TYPE_MAP.put("ufo", 1);
	    FILE_TYPE_MAP.put("eps", 1);
	    FILE_TYPE_MAP.put("ai", 1);
	    FILE_TYPE_MAP.put("raw", 1);
	    FILE_TYPE_MAP.put("wmf", 1);
	    FILE_TYPE_MAP.put("txt", 2);
	    FILE_TYPE_MAP.put("doc", 2);
	    FILE_TYPE_MAP.put("docx", 2);
	    FILE_TYPE_MAP.put("xls", 2);
	    FILE_TYPE_MAP.put("htm", 2);
	    FILE_TYPE_MAP.put("html", 2);
	    FILE_TYPE_MAP.put("jsp", 2);
	    FILE_TYPE_MAP.put("rtf", 2);
	    FILE_TYPE_MAP.put("wpd", 2);
	    FILE_TYPE_MAP.put("pdf", 2);
	    FILE_TYPE_MAP.put("ppt", 2);
	    FILE_TYPE_MAP.put("mp4", 3);
	    FILE_TYPE_MAP.put("avi", 3);
	    FILE_TYPE_MAP.put("mov", 3);
	    FILE_TYPE_MAP.put("wmv", 3);
	    FILE_TYPE_MAP.put("asf", 3);
	    FILE_TYPE_MAP.put("navi", 3);
	    FILE_TYPE_MAP.put("3gp", 3);
	    FILE_TYPE_MAP.put("mkv", 3);
	    FILE_TYPE_MAP.put("f4v", 3);
	    FILE_TYPE_MAP.put("rmvb", 3);
	    FILE_TYPE_MAP.put("webm", 3);
	    FILE_TYPE_MAP.put("mp3", 4);
	    FILE_TYPE_MAP.put("wma", 4);
	    FILE_TYPE_MAP.put("wav", 4);
	    FILE_TYPE_MAP.put("mod", 4);
	    FILE_TYPE_MAP.put("ra", 4);
	    FILE_TYPE_MAP.put("cd", 4);
	    FILE_TYPE_MAP.put("md", 4);
	    FILE_TYPE_MAP.put("asf", 4);
	    FILE_TYPE_MAP.put("aac", 4);
	    FILE_TYPE_MAP.put("vqf", 4);
	    FILE_TYPE_MAP.put("ape", 4);
	    FILE_TYPE_MAP.put("mid", 4);
	    FILE_TYPE_MAP.put("ogg", 4);
	    FILE_TYPE_MAP.put("m4a", 4);
	    FILE_TYPE_MAP.put("vqf", 4);
    }       
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值