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类


基础教程推荐
- nginx.conf(centos7 1.14)主配置文件修改 2023-09-23
- Apache Hudi数据布局黑科技降低一半查询时间 2022-10-06
- 实战Nginx_取代Apache的高性能Web服务器 2023-09-29
- IIS 6 的 PHP 最佳配置方法 2022-09-01
- centos 7 安装及配置zabbix agent 2023-09-24
- linux之conda环境安装全过程 2023-07-11
- apache和nginx结合使用 2023-09-10
- Apache服务器配置攻略3 2022-09-01
- linux下安装apache与php;Apache+PHP+MySQL配置攻略 2023-08-07
- 服务器添加git钩子的步骤 2022-12-12