【Java】判断文件的后缀名

这本来不是一个问题,利用框架本来有的方法,或者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中写过多的东西。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-13 17:27:35

【Java】判断文件的后缀名的相关文章

Java获取文件的后缀名。

/** * 详细步骤 */ private static void test1() { //获取文件的原始名称 String originalFilename = "tim.g (1).jpg";//timg (1).jpg //获取最后一个.的位置 int lastIndexOf = originalFilename.lastIndexOf("."); //获取文件的后缀名 .jpg String suffix = originalFilename.substri

Java:搜索特定后缀名的文件

写了个Java程序,以特定后缀名为条件,在指定目录内递归搜索文件,再生成文件列表. 1 import java.io.File; 2 import java.util.ArrayList; 3 import java.util.List; 4  5 public class FileListGenerator { 6  7     // FileList类可寻找指定路径下所有指定文件后缀名的文件,并生成文件列表 - List<File> 8  9     FileListGenerator(F

键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:&quot;java&quot;,&quot;txt&quot;)作为key, 用个数作为value,放入到map集合中,遍历map集合

package cn.it.zuoye5; import java.io.File;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Scanner;import java.util.Set; /** 键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:"java","txt&qu

Java判断文件编码格式

转自:http://blog.csdn.net/zhangzh332/article/details/6719025 一般情况下我们遇到的文件编码格式为GBK或者UTF-8.由于中文Windows默认的编码是GBK,所以一般只要判定UTF-8编码格式. 对于UTF-8编码格式的文本文件,其前3个字节的值就是-17.-69.-65,所以,判定是否是UTF-8编码格式的代码片段如下: Java代码 java.io.File f=new java.io.File("待判定的文本文件名");

获取文件的后缀名 和 Process进程

1.获取文件的后缀名: string hou = Path.GetExtension("wang.txt");//hou=".txt";引用using System.IO;注意"Path"的大写 2.Process进程 1 Process.Start("notepad");//用类名打开记事本,属于静态函数 2 3 //封装我们要打开的文件,但是并不去打开这个文件 4 ProcessStartInfo psi = new Pr

怎么获取一个文件的 后缀名

如下:获取abcd.txt文件的后缀名. function getSuffix(file){       return file.slice(file.lastIndexOf(".") + 1,file.length); }

C#实现把指定文件夹下的所有文件复制到指定路径下以及修改指定文件的后缀名

1.实现把指定文件夹下的所有文件复制到指定路径下 1 public static void copyFiles(string path) { 2 DirectoryInfo dir = new DirectoryInfo(path); 3 if (!dir.Exists) 4 return; //获得指定文件夹内的所有的子目录信息 5 DirectoryInfo[] dirs = dir.GetDirectories(); //获得指定文件夹内所有的文件信息 6 FileInfo[] files

判断文件真实后缀

#region 检测上传真实类型与后缀名是否匹配,是否在允许列表中,允许则上传返回上传路径 public bool IsAllowedExtension(HttpPostedFile hifile,out string upfilepath) { bool ret = false; upfilepath = string.Empty; string UFileName = hifile.FileName.Trim();//获取文件名 string WebPath = HttpContext.Cu

JAVA判断文件的内容类型

Java 7 新的特性,判断文件的内容类型. Program to demonstrate Java 7 new feature : Determining the file content type. package com.hubberspot.nio; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; public cl