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 "";
}
}