zoukankan      html  css  js  c++  java
  • FilenameUtils工具类

    转载请出自出处:http://eksliang.iteye.com/blog/2217081

    一、概述

    这是一个Java操作文件的常用库,是Apache对java的IO包的封装,这里面有两个非常核心的类FilenameUtils跟FileUtils,其中FilenameUtils是对文件名操作的封装;FileUtils是文件封装,开发中对文件的操作,几乎都可以在这个框架里面找到。 非常的好用。

    二、commons-io在maven中央仓库的最新版本地址

    Java代码  收藏代码
    1. <dependency>  
    2.       <groupId>commons-io</groupId>  
    3.       <artifactId>commons-io</artifactId>  
    4.       <version>2.4</version>  
    5. </dependency>  

    三、FilenameUtils API操作如下

    Java代码  收藏代码
    1. package com.ickes.filename;  
    2.   
    3. import java.util.ArrayList;  
    4. import java.util.List;  
    5. import org.apache.commons.io.FilenameUtils;  
    6. import org.apache.commons.io.IOCase;  
    7. /** 
    8.  * org.apache.commons.io.FilenameUtils工具类笔记 
    9.  * @author Ickes 
    10.  */  
    11. public class FilenameUtilsTest {  
    12.     public static void main(String[] args) throws Exception {  
    13.         String fileDirectory = "/D:/aa/bb/cc";   
    14.         String fileName ="file.txt";  
    15.         String fileFullName = fileDirectory +"/"+ fileName;  
    16.         System.out.println("(1)显示linux路径:"+FilenameUtils.normalizeNoEndSeparator(fileFullName));  
    17.         System.out.println("(2)合并目录和文件名为文件全路径:"+FilenameUtils.concat(fileDirectory, fileName));  
    18.         System.out.println("(3)文件路径去除目录和后缀后的文件名:"+FilenameUtils.getBaseName(fileFullName));  
    19.         System.out.println("(4)获取文件的后缀:"+FilenameUtils.getExtension(fileFullName));  
    20.         System.out.println("(5)获取文件的完整目录:"+FilenameUtils.getFullPath(fileFullName));  
    21.         System.out.println("(6)获取文件的目录不包含结束符:"+FilenameUtils.getFullPathNoEndSeparator(fileFullName));  
    22.         System.out.println("(7)获取文件名称,包含后缀:"+FilenameUtils.getName(fileFullName));  
    23.         System.out.println("(8)去除前缀的路径:"+FilenameUtils.getPath(fileFullName));   
    24.         System.out.println("(9)去除前缀并结尾去除分隔符:"+FilenameUtils.getPathNoEndSeparator(fileFullName));  
    25.         System.out.println("(10)获取前缀:"+FilenameUtils.getPrefix(fileFullName));  
    26.         System.out.println("(11)获取前缀长度:"+FilenameUtils.getPrefixLength(fileFullName));  
    27.         System.out.println("(12)获取最后一个.的位置:"+FilenameUtils.indexOfExtension(fileFullName));  
    28.         System.out.println("(13)获取最后一个/的位置:"+FilenameUtils.indexOfLastSeparator(fileFullName));  
    29.         System.out.println("(14)获取当前系统格式化路径:"+FilenameUtils.normalize(fileFullName));  
    30.         System.out.println("(16)获取当前系统无结尾分隔符的路径:"+FilenameUtils.normalizeNoEndSeparator(fileDirectory));  
    31.         System.out.println("(17)获取linux系统无结尾分隔符的路径:"+FilenameUtils.normalizeNoEndSeparator(fileDirectory));  
    32.         System.out.println("(18)移除文件的扩展名:"+FilenameUtils.removeExtension(fileFullName));  
    33.         System.out.println("(19)转换分隔符为当前系统分隔符:"+FilenameUtils.separatorsToSystem(fileFullName));  
    34.         System.out.println("(20)转换分隔符为linux系统分隔符:"+FilenameUtils.separatorsToUnix(fileFullName));  
    35.         System.out.println("(21)转换分隔符为windows系统分隔符:"+FilenameUtils.separatorsToWindows(fileFullName));  
    36.         System.out.println("(22)判断目录下是否包含指定文件或目录:"+FilenameUtils.directoryContains(fileDirectory, fileName));  
    37.         String linuxFileName = FilenameUtils.normalize(fileFullName);  
    38.         System.out.println("(23)判断文件路径是否相同:"+FilenameUtils.equals(fileFullName, linuxFileName));  
    39.         System.out.println("(24)判断文件路径是否相同,格式化并大小写不敏感:"+FilenameUtils.equals(fileFullName,   
    40.                 FilenameUtils.normalize(fileFullName),true,IOCase.INSENSITIVE));  
    41.         System.out.println("(25)判断文件路径是否相同,格式化并大小写敏感:"   
    42.                 + FilenameUtils.equalsNormalized(fileFullName, linuxFileName));  
    43.         System.out.println("(26)判断文件路径是否相同,不格式化,大小写敏感根据系统规则:windows:敏感;linux:不敏感:"  
    44.                 + FilenameUtils.equalsOnSystem(fileFullName, linuxFileName));   
    45.         List<String> extensions = new ArrayList<>();    
    46.         extensions.add("txt");    
    47.         extensions.add("java");   
    48.         System.out.println("(27)判断文件扩展名是否包含在指定集合中:"  
    49.                 + FilenameUtils.isExtension(fileFullName, extensions));   
    50.         System.out.println("(28)判断文件扩展名是否等于指定扩展名:"   
    51.                 + FilenameUtils.isExtension(fileFullName, "txt"));  
    52.         System.out.println("(29)判断文件扩展名是否包含在指定字符串数组中:"   
    53.                 + FilenameUtils.isExtension(fileFullName, new String[]{"txt","java"}));  
    54.         System.out.println("(30)判断文件扩展名是否和指定规则匹配,大小写敏感:"  
    55.                 + FilenameUtils.wildcardMatch(fileName, "*.???"));   
    56.         System.out.println("(31)判断文件扩展名是否和指定规则匹配,大小写不敏感:"   
    57.                 + FilenameUtils.wildcardMatch(fileName, "*.???",IOCase.INSENSITIVE));  
    58.         System.out.println("(32)判断文件扩展名是否和指定规则匹配,根据系统判断敏感型:windows:不敏感;linux:敏感:"   
    59.                 + FilenameUtils.wildcardMatchOnSystem(fileName, "*.???"));  
    60.           
    61.     }  
    62. }  
  • 相关阅读:
    chrome浏览器中安装以及使用Elasticsearch head 插件
    windows10 升级并安装配置 jmeter5.3
    linux下部署Elasticsearch6.8.1版本的集群
    【Rollo的Python之路】Python 爬虫系统学习 (八) logging模块的使用
    【Rollo的Python之路】Python 爬虫系统学习 (七) Scrapy初识
    【Rollo的Python之路】Python 爬虫系统学习 (六) Selenium 模拟登录
    【Rollo的Python之路】Python 爬虫系统学习 (五) Selenium
    【Rollo的Python之路】Python 爬虫系统学习 (四) XPath学习
    【Rollo的Python之路】Python 爬虫系统学习 (三)
    【Rollo的Python之路】Python sys argv[] 函数用法笔记
  • 原文地址:https://www.cnblogs.com/alicegu2009/p/6039851.html
Copyright © 2011-2022 走看看