`
谢永兵
  • 浏览: 14729 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

文件格式判断

    博客分类:
  • J2SE
阅读更多

此类为一个文件格式判断类

package com.test;

/**
 * 判断文件测试类
 *
 * @author com.fhy.xyb
 * @date  2014-6-25 下午06:43:42
 * 
 *
 */
public class FormatTest {

	/**
	 * 文件枚举格式库
	 * 说明: 该枚举格式库,可以动态添加,需注意以下命名规范
	 *  	①新添加对象类型,必须要一个基本格式,如MUSIC("MUSIC"),代表音频文件在比较类型时候需要。
	 *  	②向已对象类型,新添加格式采用的加1的方法,如MUSIC10("APE")为音频格式最后一个,向下添加则应该为MUSIC11("举例"),
	 * @author com.fhy.xyb
	 * @date  2014-6-25 下午06:53:41
	 */
	public enum Format {
		// 音频格式
		MUSIC("MUSIC"), MUSIC0("WAVE"), MUSIC1("AIFF"), MUSIC2("AU"), MUSIC3(
				"MP3"), MUSIC4("MIDI"), MUSIC5("WMA"), MUSIC6("RealAudio"), MUSIC7(
				"VQF"), MUSIC8("OggVorbis"), MUSIC9("AAC"), MUSIC10("APE"),
		// 图片格式
		IMAGE("IMAGE"), IMAGE0("BMP"), IMAGE1("JPG"), IMAGE2("TIFF"), IMAGE3(
				"GIF"), IMAGE4("PCX"), IMAGE5("TGA"), IMAGE6("EXIF"), IMAGE7(
				"FPX"), IMAGE8("SVG"), IMAGE9("PSD"), IMAGE10("CDR"), IMAGE11(
				"PCD"), IMAGE12("DXF"), IMAGE13("UFO"), IMAGE14("EPS"), IMAGE15(
				"AI"), RAW("RAW"),
		// 视频格式
		VIDEO("VIDEO"), VIDEO0("VOD"), VIDEO1("IFO"), VIDEO2("MPG"), VIDEO3(
				"MPEG"), VIDEO4("DAT"), VIDEO5("IMP4"), VIDEO6("3GP"), VIDEO7(
				"MOV"), VIDEO8("RM"), VIDEO9("RAM"), VIDEO10("RMVB"), VIDEO11(
				"WMV"), VIDEO12("ASF"), VIDEO13("AVI"), VIDEO14("ASX");
		private final String value;

		Format(String value) {
			this.value = value;
		}

		public String getValue() {
			return value;
		}
	}

	/**
	 * 主程序入口,测试方法
	 * 
	 *@author com.fhy.xyb
	 *@createTime 下午06:50:06
	 *@createTime 下午06:50:06
	 */
	public static void main(String[] args) {

		String type = "asx";
		String type2 = FormatTest.selectType(type.trim()).trim();
		System.out.println("打印返回值信息-------" + type2);
		//判断是否枚举库找到对应格式
		if (type2 != null && !"".equals(type2)) {
			//判断该文件格式属于那种类型
			if (type2.indexOf(Format.IMAGE.getValue().toString()) > -1) {
				System.out.println("这是一个" + "图片文件");
			} else if (type2.indexOf(Format.MUSIC.getValue().toString()) > -1) {
				System.out.println("这是一个" + "音频文件");
			} else if (type2.indexOf(Format.VIDEO.getValue().toString()) > -1) {
				System.out.println("这是一个" + "视频文件");
			}
		} else {
			System.out.println("其它文件资源");
		}
	}

	/**
	 * 查询文件格式
	 * 
	 *@author com.fhy.xyb
	 *@createTime 下午06:46:40
	 *@createTime 下午06:46:40
	 */
	public static String selectType(String str) {
		String fileType = null;
		for (Format formattest : Format.values()) {
			if (formattest.getValue().toString().toLowerCase().equals(str)) {
				fileType = formattest.toString();
				break;
			}
			System.out.println(formattest.getValue().toString().toLowerCase());
		}
		return fileType;
	}

}

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics