zoukankan      html  css  js  c++  java
  • .apache.commons.io 源代码学习(二)FilenameUtils类

     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的方法很不错。

  • 相关阅读:
    阅读ajax.pdf
    XPath 学习
    随想
    Angular JS 学习
    Angular JS 学习
    URL Rewrite in IIS with Regular Pattern
    LinQ In Action 学习第四章
    GC垃圾回收
    jvm底层
    类加载流程
  • 原文地址:https://www.cnblogs.com/aomi/p/6433371.html
Copyright © 2011-2022 走看看