FilenameUtils工具类
这是一个Java操作文件的常用库,是Apache对java的IO包的封装,这里面有两个非常核心的类FilenameUtils跟FileUtils,其中FilenameUtils是对文件名操作的封装;FileUtils是文件封装,开发中对文件的操作,几乎都可以在这个框架里面找到。 非常的好用。
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
获取文件的后缀名
/**
* getExtension
*
*/
public static void testGetExtension() {
String extension = FilenameUtils.getExtension("D:"+File.separator+"data.txt");
System.out.println(extension);
}
**
获取文件的名称,不包括后缀名
**
/**
* getBaseName
* 获取文件的名称,不包括后缀名
*/
public static void testGetBaseName() {
String baseName = FilenameUtils.getBaseName("D:"+File.separator+"data.txt");
System.out.println(baseName);
}
获取文件名
/**
* getName
* 获取文件名
*/
public static void testGetName() {
String name = FilenameUtils.getName("D:"+File.separator+"data.txt");
System.out.println(name);
}
组合完全路径
/**
* concat
* 组合完全路径
*/
public static void testConcat() {
String concat = FilenameUtils.concat("D"+File.separator, "data.txt");
System.out.println(concat);
}
移除后缀名
/**
* RemoveExtension
* 移除后缀名
*/
public static void testRemoveExtension() {
String ex = FilenameUtils.removeExtension("D:"+File.separator+"data.txt");
System.out.println(ex);
}
格式化路径
/**
* normalize
*
*/
public static void testNormalize() {
String normalize = FilenameUtils.normalize("D:"+File.separator+"data.txt");
System.out.println(normalize);
}
判断文件扩展名是否与指定规则匹配
/**
* wildcardMatch
* 判断文件扩展名是否与指定规则匹配
*/
public static void testWildcardMatch() {
//判断文件扩展名是否和指定规则匹配,大小写敏感
System.out.println(FilenameUtils.wildcardMatch("D:"+File.separator+"data.txt", "*.???"));
//判断文件扩展名是否和指定规则匹配,大小写不敏感
System.out.println(FilenameUtils.wildcardMatch("D:"+File.separator+"data.txt", "*.???", IOCase.INSENSITIVE));
//判断文件扩展名是否和指定规则匹配,根据系统判断敏感型:windows:不敏感;linux:敏感
System.out.println(FilenameUtils.wildcardMatchOnSystem("D:"+File.separator+"data.txt", "*.???"));
}
把文件路径的分隔符格式转成linux系统格式
/**
* separatorsToUnix
* 把文件路径的分隔符格式转成linux系统格式
*/
public static void testSeparatorsToUnix() {
//D:\data.txt
System.out.println("D:"+File.separator+"data.txt");
//D:/data.txt
System.out.println(FilenameUtils.separatorsToUnix("D:"+File.separator+"data.txt"));
}
判断文件扩展名
/**
* isExtension
* 判断文件扩展名
*/
public static void testIsExtension() {
//判断文件扩展名是否包含在指定集合中:"+FilenameUtils.isExtension(fullFileName, extensions));
//判断文件扩展名是否等于指定扩展名
System.out.println(FilenameUtils.isExtension("data.txt", "txt"));
}
获取文件路径
/**
* getFullPath
* 获取文件路径
*/
public static void testGetFullPath() {
System.out.println(FilenameUtils.getFullPath("D:"+File.separator+"data.txt"));
}