public static String getRelativePath()

in freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/util/FileUtils.java [32:47]


    public static String getRelativePath(File directory, File file) {
        Validate.notNull(directory, "directory is null");
        Validate.notNull(file, "file is null");
        Validate.isTrue(directory.exists(), "directory does not exist");

        final Path filePath = Paths.get(file.toURI()).normalize();
        final Path directoryPath = Paths.get(directory.toURI()).normalize();
        final String relativePath = directoryPath.relativize(filePath).normalize().toString();

        // strip last path segment
        if (relativePath.lastIndexOf(File.separatorChar) >= 0) {
            return relativePath.substring(0, relativePath.lastIndexOf(File.separatorChar));
        } else {
            return "";
        }
    }