100、 FilenameUtils
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的更多相关文章
- 路由器WAN口IP显示为10、100、172开头,网络被电信联通等运营商做了NAT转发
摘要:路由器WAN口IP显示为10.100.172开头,网络被电信联通等运营商做了NAT转发 ... 路由器WAN口IP显示为10.100.172开头的解决方法方法一:找电信(10000号)或者联通( ...
- HTTP状态码100、200、300、400、500、600的含义
1xx (临时响应)表示临时响应并需要请求者继续执行操作的状态代码. 100 (继续) 请求者应当继续提出请求. 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分. 101 (切换协议) 请 ...
- 100、RESTful API
本篇导航: RESTful RESTful API设计 基于django实现 基于Django Rest Framework框架实现 一.RESTful REST与技术无关,代表的是一种软件架构风格, ...
- 首页技术支持常见问题宽带外网IP显示为10、100、172开头,没有公网IP,如何解决?
1.表现形式: 路由器拨号获得的公网IP变成了一个以100开头的IP(或者是10.172开头),而打开ip138.com查询却又是另外一个IP,将100开头的这个IP到百度去查询下则显示所在区域为美国 ...
- JVM 常见线上问题 → CPU 100%、内存泄露 问题排查
开心一刻 明明是个小 bug,但就是死活修不好,我特么心态崩了...... 前言 后文会从 Windows.Linux 两个系统来做示例展示,有人会有疑问了:为什么要说 Windows 版的 ? 目前 ...
- 100、nginx_https安全链接配置
100.1. tcp的三次握手和四次挥手的过程: 1.三次握手(建立连接): 第一次:建立连接时,客户端发送SYN包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认: 第二次:服务器 ...
- 多事之秋-最近在阿里云上遇到的问题:负载均衡失灵、服务器 CPU 100%、被 DDoS 攻击
昨天 22:00~22:30 左右与 23:30~00:30 左右,有1台服役多年的阿里云负载均衡突然失灵,造成通过这台负载均衡访问博客站点的用户遭遇 502, 503, 504 ,由此给您带来麻烦, ...
- 100、神器的 routing mesh (Swarm07)
参考https://www.cnblogs.com/CloudMan6/p/7930321.html 上一节我们提到了 swarm 的 routing mesh .当外部访问任意节点的8080端口 ...
- 100、TensorFlow实现FFM Field-awared FM模型
''' Created on 2017年11月15日 @author: weizhen ''' import tensorflow as tf import pandas as pd import n ...
- 100、Java中String类之字符串转为大写
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...
随机推荐
- 构建SpringCloud网关服务
搭建网关 导入maven包: <!--网关依赖--> <dependency> <groupId>org.springframework.cloud</gro ...
- Django 之swagger中尝试调试post请求时返回 "detail": "JSON parse error - Expecting value: line 1 column 1 (char)
swagger已配置OK,但发送POST请求时一直显示数据格式错误,怪异.... 经过各种查找资料,才发现setting.py文件中缺少配置 配置完成后重启服务,再次尝试发送POST请求,不会再报格式 ...
- uniapp 微信小程序 实现左侧菜单右侧列表,双向联动的效果
<template> <view class="u-wrap"> <view class="u-search-box"> & ...
- 【译】2022 年回顾:Web 性能有哪些新变化?
原文地址:https://www.debugbear.com/blog/2022-in-web-performance 若对文中提到的一些性能参数不太熟悉,可以参考我之前的一篇博文<性能参数和优 ...
- 希腊字母表及latex代码
希腊字母表及latex代码 字母大写 字母小写 英文名称 latex大写代码 latex小写代码 \(\Alpha\) \(\alpha\) alpha \Alpha \alpha \(\Beta\) ...
- Codeforces Hello 2023 CF 1779 A~F 题解
点我看题 A. Hall of Fame 先把不用操作就合法的情况判掉.然后发现交换LL,RR,RL都是没用的,只有交换LR是有用的,这样可以照亮相邻的两个位置.所以我们就是要找到一个位置i,满足\( ...
- IT编程相关内容汇总 - 进阶者系列 - 学习者系列文章
笔者工作了十多年了,对于技术也有一定的经验,但是IT编程技术的更新是挺快的,特别是各种框架,各种中间件啥的都涌现出来了.这篇博文笔者打算将IT编程的前端.后端.数据库和移动端做一个博文知识汇总,让阅读 ...
- 第一个shell
首先进入linux系统,打开命令行,输入命令vi test.sh创建一个shell测试脚本,键入i切换vi编辑器为输入模式,输入以下文本内容,键入:wq保存退出即可.下面第一行的#!是告诉系统其后路径 ...
- Java入门与进阶 P-1.9+P-1.10
计算机的优先级 所有的数学运算都认为是从左向右运算的,Java 语言中大部分运算符也是从左向右结合的,只有单目运算符.赋值运算符和三目运算符例外,其中,单目运算符.赋值运算符和三目运算符是从右向左结合 ...
- Grafana 系列文章(十一):Loki 中的标签如何使日志查询更快更方便
️URL: https://grafana.com/blog/2020/04/21/how-labels-in-loki-can-make-log-queries-faster-and-easier/ ...