【Java】判断文件的后缀名
2015-07-09 16:33
633 查看
这本来不是一个问题,利用框架本来有的方法,或者File类的getPath()方法,取出要判断文件路径,或者getName()方法取出文件路径,成为一个String字符串假设为fileName之后,再对带哦用这fileName的endsWith("txt")方法,得到的布尔值就能判断其是否txt文件。这本来没什么好说,但会出现什么呢?比如要判断是否为图片文件,尤其是一些上传系统中,你的判断条件就要写成如下的形式:
比如以下的程序,判断该文件是否为.txt,.png,gif,.bmp之一,并对f:\\a.jsp这个路径进行测试,代码如下:
这样就可以避免在if中写过多的东西。
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中写过多的东西。
相关文章推荐
- Java replaceFirst 和replaceAll 方法
- Spring JdbcTemplate方法详解
- JSP+Servlet+javabean实现登录功能模块
- Eclipse中用git解决冲突 避免每次重新拉代码
- Java 6 JVM参数选项大全(中文版)
- java实现屏幕截图功能并保存截图
- java.lang.NoSuchFieldError: DEF_CONTENT_CHARSET
- spring中context:property-placeholder/元素
- Springmvc返回json 字符串的其他方式
- spring mvc乱码的解决方案
- java观察者模式
- 在Eclipse中使用JUnit4进行单元测试(初级篇)
- Java中图片的相对路径
- 【Spring-AOP-学习笔记-5】@AfterReturning增强处理简单示例
- JAVA抽奖的算概率法
- Java执行操作系统命令
- JAVA中String类
- java调用JDBC连接MySQL 以及MySQL日常维护的简单操
- eclipse jar包关联源码(android 开发)
- java使double保留两位小数的多方法 java保留两位小数