关闭

【Java】判断文件的后缀名

标签: java后缀名stringFile文件
6829人阅读 评论(0) 收藏 举报
分类:

这本来不是一个问题,利用框架本来有的方法,或者File类的getPath()方法,取出要判断文件路径,或者getName()方法取出文件路径,成为一个String字符串假设为fileName之后,再对带哦用这fileName的endsWith("txt")方法,得到的布尔值就能判断其是否txt文件。这本来没什么好说,但会出现什么呢?比如要判断是否为图片文件,尤其是一些上传系统中,你的判断条件就要写成如下的形式:

if (fileName.endsWith(".jpg") || fileName.endsWith(".jpeg")  
                            || fileName.endsWith(".bmp")  
                            || fileName.endsWith(".gif")  
                            || fileName.endsWith(".png")){}
在允许文件类型的比较多的情况,非常难看,此时可以利用indexOf方法与Java的可变长参数可以完美解决这个问题,具体可以参看《【Java】JDK1.5以后新型的泛型参数传递方法Object...args》(点击打开链接)这里不再赘述了。

比如以下的程序,判断该文件是否为.txt,.png,gif,.bmp之一,并对f:\\a.jsp这个路径进行测试,代码如下:

package isValid;

public class validTest {
	public static boolean isValid(String contentType, String... allowTypes) {
		if (null == contentType || "".equals(contentType)) {
			return false;
		}
		for (String type : allowTypes) {
			if (contentType.indexOf(type) > -1) {
				return true;
			}
		}
		return false;
	}

	public static void main(String[] args) {
		String[] allowTypes = new String[] { ".txt", ".png", "gif", ".bmp" };
		Boolean CanUploaded = isValid("f:\\a.jsp", allowTypes);
		if (CanUploaded) {
			System.out.println("该文件为.txt,.png,gif,.bmp之一,允许上传!");
		} else {
			System.out.println("该文件不为.txt,.png,.gif,.bmp之一,禁止上传!");
		}
	}

}
运行结果如下:

这样就可以避免在if中写过多的东西。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1701328次
    • 积分:24024
    • 等级:
    • 排名:第309名
    • 原创:750篇
    • 转载:0篇
    • 译文:0篇
    • 评论:353条
    文章分类
    【备注】博文GIF动画的录制方法
    先用屏幕录制软件Freez Screen Video Capture录制屏幕,再把得到的AVI,利用GIF Movie Gear转化成GIF
    【友情链接】亲笔小说