FilenameUtils是apache common io中一个独立的工具类,对其他没有依赖,看其源代码的import即可知道。import java.io.File;import java.io.IOException;import java.util.ArrayList;import java.util.Collection;imp...

FilenameUtils是apache common io中一个独立的工具类,对其他没有依赖,看其源代码的import即可知道。
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Stack;
这个类的目标是:
When dealing with filenames you can hit problems when moving from a Windows
based development machine to a Unix based production machine.
This class aims to help avoid those problems.
我们在看看uml类图;
我们可以注意到,其提供的方法,基本都是静态的,所以,这个类我认为,大部分使用的时候,都不需要实例化,典型的工具类。
而其目标是在windows系统和unix系统之间的文件名转换,因此,最初就是定义了windows和unix系统的文件的分隔符
public static final char EXTENSION_SEPARATOR = ‘.‘; public static final String EXTENSION_SEPARATOR_STR = Character.toString(EXTENSION_SEPARATOR); private static final char UNIX_SEPARATOR = ‘/‘; private static final char WINDOWS_SEPARATOR = ‘\\‘; private static final char SYSTEM_SEPARATOR = File.separatorChar; private static final char OTHER_SEPARATOR; static { if (isSystemWindows()) { OTHER_SEPARATOR = UNIX_SEPARATOR; } else { OTHER_SEPARATOR = WINDOWS_SEPARATOR; } } static boolean isSystemWindows() { return SYSTEM_SEPARATOR == WINDOWS_SEPARATOR; }
这个,判断是否windows的方法很不错。
原文:http://www.cnblogs.com/aomi/p/6433371.html
本文标题为:.apache.commons.io 源代码学习(二)FilenameUtils类


- 【转载】CentOS安装Tomcat 2023-09-24
- 利用Docker 运行 python 简单程序 2022-10-16
- KVM虚拟化Linux Bridge环境部署的方法步骤 2023-07-11
- CentOS7安装GlusterFS集群的全过程 2022-10-10
- 教你在docker 中搭建 PHP8 + Apache 环境的过程 2022-10-06
- 阿里云ECS排查CPU数据分析 2022-10-06
- 解决:apache24 安装后闪退和配置端口映射和连接超时设置 2023-09-11
- IIS搭建ftp服务器的详细教程 2022-11-15
- CentOS_mini下安装docker 之 安装docker CE 2023-09-23
- nginx中封禁ip和允许内网ip访问的实现示例 2022-09-23