org.apache.commons.io jar的使用(一)FilenameUtils

FilenameUtils 是文件名工具类

使用方法示例(基于commons-io-2.6版本): 

import org.apache.commons.io.FilenameUtils;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

/**
 * Created with IntelliJ IDEA.
 *
 * @Author: Zhong
 * @Date: 2018/9/12
 * @Time: 13:20
 * @Description: 文件名工具类
 */
public class FilenameUtilsTest {
    /** 备注:本地存在文件;D:\test\file.txt **/
    public static void main(String[] args) throws IOException {
        String directory = "D:\\test\\dev";
        String fileName = "firstFile.txt";
        String fileFullName = directory + "\\" + fileName;
        // 1,判断父目录是否包含子元素(文件或目录),即使本地不存在test22文件夹,也是true,说明没有检索磁盘
        System.out.println(FilenameUtils.directoryContains("D:\\test","D:\\test22\\f22ile2.txt")); // true
        System.out.println(FilenameUtils.directoryContains("D:\\test","D:\\te2st\\f22ile2.txt")); // false

        // 2,判断两个文件名是否相等,区分大小写
        System.out.println(FilenameUtils.equals("D:\\test", "D:\\tEst")); // false

        // 3, 两个文件名标准化后判断是否相等
        System.out.println(fileFullName); // D:\test\dev\firstFile.txt
        String normalizeFile = FilenameUtils.normalize(fileFullName, true);
        System.out.println(normalizeFile); // D:/test/dev/firstFile.txt
        System.out.println(FilenameUtils.equalsNormalized(fileFullName, normalizeFile)); // true

        // 4,获取文件基本名
        System.out.println(FilenameUtils.getBaseName(fileFullName)); // firstFile

        // 5,获取文件扩展名
        System.out.println(FilenameUtils.getExtension(fileFullName)); // txt
        // 获取文件扩展名索引:D:/test/dev/firstFile  .  txt
        System.out.println(FilenameUtils.indexOfExtension(fileFullName)); // 21

        // 6,获取单独的文件名及其后缀
        System.out.println(FilenameUtils.getName(fileFullName)); // firstFile.txt

        // 7,获取文件完整路径,不含文件名
        System.out.println("7: " + FilenameUtils.getFullPath(fileFullName)); // 7: D:\test\dev\

        // 8, 获取文件不含结尾分隔符的完整路径,不含文件名
        System.out.println(FilenameUtils.getFullPathNoEndSeparator(fileFullName)); // D:\test\dev
        // 获取不含后缀的文件路径和文件名
        System.out.println(FilenameUtils.removeExtension(fileFullName)); // D:\test\dev\firstFile

        // 9,获取不含前缀的完整文件路径,不含文件名
        System.out.println(FilenameUtils.getPath(fileFullName)); // test\dev\


        // 10,获取不含前缀和结尾分隔符的完整文件路径,不含文件名
        System.out.println(FilenameUtils.getPathNoEndSeparator(fileFullName)); // test\dev

        // 11,获取文件路径前缀
        System.out.println(FilenameUtils.getPrefix(fileFullName)); // D:\

        // 12,获取文件路径前缀长度
        System.out.println(FilenameUtils.getPrefixLength(fileFullName)); // 3

        // 13,获取文件最后一个分隔符索引:D:/test/dev   /   firstFile.txt
        System.out.println(FilenameUtils.indexOfLastSeparator(fileFullName)); // 11

        // 14, 判断文件扩展名是否符合给定的
        List suffixList = new ArrayList();
        suffixList.add("png");
        suffixList.add("txt");
        suffixList.add("xlsx");
        System.out.println(FilenameUtils.isExtension(fileFullName, suffixList)); // true
        System.out.println(FilenameUtils.isExtension(fileFullName, "txt")); // true

        // 15 转换文件分割为系统分隔符
        System.out.println(FilenameUtils.separatorsToSystem(fileFullName)); // D:\test\dev\firstFile.txt
        // 16 转换文件分割为unix系统分隔符
        System.out.println(FilenameUtils.separatorsToUnix(fileFullName)); // D:/test/dev/firstFile.txt
        // 17 转换文件分割为windows系统分隔符
        System.out.println(FilenameUtils.separatorsToWindows(fileFullName)); // D:\test\dev\firstFile.txt

        // 18 判断文件是否符合指定的规则
        System.out.println(FilenameUtils.wildcardMatch(fileFullName, "*.txt")); // true
    }
}

 

你可能感兴趣的:(01,JAVA)