Class PathUtils


  • public final class PathUtils
    extends Object
    General helpful path utility methods.
    Author:
    David M. Lloyd
    • Method Detail

      • filterPaths

        public static <T extends Collection<? super String>> T filterPaths​(Iterable<String> source,
                                                                           PathFilter filter,
                                                                           T target)
        Filter the paths from source into target using filter.
        Type Parameters:
        T - the collection type
        Parameters:
        source - the source paths
        filter - the filter to apply
        target - the destination for filtered paths
        Returns:
        the target set
      • getPathSet

        public static Set<String> getPathSet​(ClassLoader classLoader)
        Attempt to get a set of all paths defined directly by the given class loader. If the path set cannot be ascertained, null is returned.
        Parameters:
        classLoader - the class loader to inspect
        Returns:
        the set, or null if the paths could not be determined
      • relativize

        public static String relativize​(String path)
        Relativize the given path. Removes any leading / segments from the path.
        Parameters:
        path - the path to relativize
        Returns:
        the relative path
      • canonicalize

        public static String canonicalize​(String path)
        Canonicalize the given path. Removes all . and .. segments from the path.
        Parameters:
        path - the relative or absolute possibly non-canonical path
        Returns:
        the canonical path
      • isChild

        public static boolean isChild​(String parent,
                                      String child)
        Determine whether one path is a child of another.
        Parameters:
        parent - the parent path
        child - the child path
        Returns:
        true if the child is truly a child of parent
      • isDirectChild

        public static boolean isDirectChild​(String parent,
                                            String child)
        Determine whether one path is a direct (or immediate) child of another.
        Parameters:
        parent - the parent path
        child - the child path
        Returns:
        true if the child is truly a direct child of parent
      • isRelative

        public static boolean isRelative​(String path)
        Determine whether a path name is relative.
        Parameters:
        path - the path name
        Returns:
        true if it is relative
      • isSeparator

        public static boolean isSeparator​(char ch)
        Determine whether the given character is a / or a platform-specific separator.
        Parameters:
        ch - the character to test
        Returns:
        true if it is a separator