import org.apache.commons.io.FilenameUtils;  

测试数据

String fileDirectory = "/D:/aa/bb/cc";
String fileName ="file.txt";
String fileFullName = fileDirectory +"/"+ fileName;
String linuxFileName = FilenameUtils.normalize(fileFullName);
  • 显示linux路径
FilenameUtils.normalizeNoEndSeparator(fileFullName);  \D:\aa\bb\cc\file.txt  
  • 合并目录和文件名为文件全路径
FilenameUtils.concat(fileDirectory, fileName);  \D:\aa\bb\cc\file.txt  
  • 文件路径去除目录和后缀后的文件名
FilenameUtils.getBaseName(fileFullName);  //file  
  • 获取文件的后缀
FilenameUtils.getExtension(fileFullName);  //txt 
  • 获取文件的完整目录
FilenameUtils.getFullPath(fileFullName);  /D:/aa/bb/cc/  
  • 获取文件的目录不包含结束符
FilenameUtils.getFullPathNoEndSeparator(fileFullName);  /D:/aa/bb/cc  
  • 获取文件名称,包含后缀
FilenameUtils.getName(fileFullName);  //file.txt  
  • 去除前缀的路径
FilenameUtils.getPath(fileFullName);  D:/aa/bb/cc/ 
  • 去除前缀并结尾去除分隔符
FilenameUtils.getPathNoEndSeparator(fileFullName);  D:/aa/bb/cc  
  • 获取最后一个.的位置
FilenameUtils.indexOfExtension(fileFullName); //17  
  • 获取最后一个/的位置
FilenameUtils.indexOfLastSeparator(fileFullName);  //12
  • 移除文件的扩展名
FilenameUtils.removeExtension(fileFullName);   /D:/aa/bb/cc/file  
  • 转换分隔符为当前系统分隔符
FilenameUtils.separatorsToSystem(fileFullName); 
  • 转换分隔符为linux系统分隔符
FilenameUtils.separatorsToUnix(fileFullName);   \D:\aa\bb\cc  
  • 转换分隔符为windows系统分隔符
FilenameUtils.separatorsToWindows(fileFullName);   /D:/aa/bb/cc/file  
  • 判断目录下是否包含指定文件或目录
FilenameUtils.directoryContains(fileDirectory, fileName);  //false  
  • 判断文件路径是否相同
FilenameUtils.equals(fileFullName, linuxFileName);
  • 判断文件路径是否相同,格式化并大小写不敏感
FilenameUtils.equals(fileFullName, FilenameUtils.normalize(fileFullName),true,IOCase.INSENSITIVE));  
  • 判断文件路径是否相同,格式化并大小写敏感
FilenameUtils.equalsNormalized(fileFullName, linuxFileName);  
  • 判断文件路径是否相同,不格式化,大小写敏感根据系统规则:windows:敏感;linux:不敏感
FilenameUtils.equalsOnSystem(fileFullName, linuxFileName);
  • 判断文件扩展名是否包含在指定集合中
FilenameUtils.isExtension(fileFullName, list); 
  • 判断文件扩展名是否等于指定扩展名
FilenameUtils.isExtension(fileFullName, "txt");  
  • 判断文件扩展名是否包含在指定字符串数组中
FilenameUtils.isExtension(fileFullName, new String[]{"txt","java"});  
  • 判断文件扩展名是否和指定规则匹配,大小写敏感
FilenameUtils.wildcardMatch(fileName, "*.???");   
  • 判断文件扩展名是否和指定规则匹配,大小写不敏感
FilenameUtils.wildcardMatch(fileName, "*.???",IOCase.INSENSITIVE);  
  • 判断文件扩展名是否和指定规则匹配,根据系统判断敏感型:windows:不敏感;linux:敏感
FilenameUtils.wildcardMatchOnSystem(fileName, "*.???");

来自:https://www.cnblogs.com/fuyingju/p/14342951.html

100、 FilenameUtils的更多相关文章

  1. 路由器WAN口IP显示为10、100、172开头,网络被电信联通等运营商做了NAT转发

    摘要:路由器WAN口IP显示为10.100.172开头,网络被电信联通等运营商做了NAT转发 ... 路由器WAN口IP显示为10.100.172开头的解决方法方法一:找电信(10000号)或者联通( ...

  2. HTTP状态码100、200、300、400、500、600的含义

    1xx (临时响应)表示临时响应并需要请求者继续执行操作的状态代码. 100 (继续) 请求者应当继续提出请求. 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分. 101 (切换协议) 请 ...

  3. 100、RESTful API

    本篇导航: RESTful RESTful API设计 基于django实现 基于Django Rest Framework框架实现 一.RESTful REST与技术无关,代表的是一种软件架构风格, ...

  4. 首页技术支持常见问题宽带外网IP显示为10、100、172开头,没有公网IP,如何解决?

    1.表现形式: 路由器拨号获得的公网IP变成了一个以100开头的IP(或者是10.172开头),而打开ip138.com查询却又是另外一个IP,将100开头的这个IP到百度去查询下则显示所在区域为美国 ...

  5. JVM 常见线上问题 → CPU 100%、内存泄露 问题排查

    开心一刻 明明是个小 bug,但就是死活修不好,我特么心态崩了...... 前言 后文会从 Windows.Linux 两个系统来做示例展示,有人会有疑问了:为什么要说 Windows 版的 ? 目前 ...

  6. 100、nginx_https安全链接配置

    100.1. tcp的三次握手和四次挥手的过程: 1.三次握手(建立连接): 第一次:建立连接时,客户端发送SYN包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认: 第二次:服务器 ...

  7. 多事之秋-最近在阿里云上遇到的问题:负载均衡失灵、服务器 CPU 100%、被 DDoS 攻击

    昨天 22:00~22:30 左右与 23:30~00:30 左右,有1台服役多年的阿里云负载均衡突然失灵,造成通过这台负载均衡访问博客站点的用户遭遇 502, 503, 504 ,由此给您带来麻烦, ...

  8. 100、神器的 routing mesh (Swarm07)

    参考https://www.cnblogs.com/CloudMan6/p/7930321.html   上一节我们提到了 swarm 的 routing mesh .当外部访问任意节点的8080端口 ...

  9. 100、TensorFlow实现FFM Field-awared FM模型

    ''' Created on 2017年11月15日 @author: weizhen ''' import tensorflow as tf import pandas as pd import n ...

  10. 100、Java中String类之字符串转为大写

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...

随机推荐

  1. 含辞未吐,声若幽兰,史上最强免费人工智能AI语音合成TTS服务微软Azure(Python3.10接入)

    所谓文无第一,武无第二,云原生人工智能技术目前呈现三足鼎立的态势,微软,谷歌以及亚马逊三大巨头各擅胜场,不分伯仲,但目前微软Azure平台不仅仅只是一个PaaS平台,相比AWS,以及GAE,它应该是目 ...

  2. 使用IntelliJ IDEA打开一个项目步骤

    目录 1.普通java项目 步骤一.使用IDEA打开一个新的项目 步骤二.设置项目的SDK 步骤三.设置项目的src为Resources Root​ 2.Maven项目 前三步同普通java项目相同 ...

  3. Windows下jdk安装与卸载-超详细的图文教程

    jdk安装 下载jdk 由于现在主流就是jdk1.8,所以这里就下载jdk1.8进行演示.官方下载地址:https://www.oracle.com/java/technologies/downloa ...

  4. linux配置本地yum源实现在局域网中在线安装软件包

    安装linux下安装软件需要安装一系列的rpm包,用rpm -ivh xx和yum install xx 如果用rpm安装软件包的时候,需要自己下载rpm安装包,如果rpm包不全总是提示依赖检查失败或 ...

  5. Joplin修改笔记存储位置

    默认存储路径 笔记的默认保存位置可以通过 工具 > 选项 > 通用选项 ,在最上方可以看到路径 使用Windows快捷方式启动 在Joplin的快捷方式上右击,选择属性,然后选择快捷方式选 ...

  6. 二十一、B树的定义、查找、插入和删除

    一.B树的定义 一棵m阶的B树,或为空树,或为满足下列特性的m叉树: (1)树中每个结点至多有m棵子树:(2)B树是所有结点的平衡因子均等于0的多路平衡查找树:(3)若根结点不是叶子结点,则至少有两棵 ...

  7. elasticsearch之search template

    一.search template简介 elasticsearch提供了search template功能,其会在实际执行查询之前,对search template进行预处理并将参数填充到templa ...

  8. SpringMVC学习笔记 - 第一章 - 工作流程、Bean加载控制、请求与响应(参数接收与内容返回)、RESTful

    [前置内容]Spring 学习笔记全系列传送门: Spring学习笔记 - 第一章 - IoC(控制反转).IoC容器.Bean的实例化与生命周期.DI(依赖注入) Spring学习笔记 - 第二章 ...

  9. 分布式协议与算法-Paxos算法

    1.Basic Paxos 假设我们要实现一个分布式集群,这个集群是由节点 A.B.C 组成,提供只读 KV 存储服务.你应该知道,创建只读变量的时候,必须要对它进行赋值,而且这个值后续没办法修改.因 ...

  10. continue语句-死循环

    continue语句 continue 使用场景:结束本次循环,继续下一次的循环 public static void main(String[] args) { for (int i = 1; i ...