Java Utililty Methods Path Relative

List of utility methods to do Path Relative

  1. HOME
  2. Java
  3. P
  4. Path Relative

Description

The list of methods to do Path Relative are organized into topic(s).

Method

String getRelative(File base, File path)
Get a relative path to a base directory.
return base.toURI().relativize(path.toURI()).getPath();
String getRelative(File base, File path)
Get the relative path of a file using a base path to specify the absolute portion.
String absBase = base.getAbsolutePath();
String absPath = path.getAbsolutePath();
if (absPath.indexOf(absBase) != 0)
 return absPath;
return absPath.substring(absBase.length() + (absPath.equals(absBase) ? 0 : 1));
String getRelative(String basedir, String child)
Given a basedir and a child file, return the relative path to the child.
if (basedir.endsWith("/") || basedir.endsWith("\\")) {
 basedir = basedir.substring(0, basedir.length() - 1);
if (child.startsWith(basedir)) {
 return child.substring(basedir.length() + 1);
String absoluteBasedir = new File(basedir).getAbsolutePath();
if (child.startsWith(absoluteBasedir)) {
...
String getRelativeAncestor(File ancestor, File descendant)
Get a relative path pointing from a descendant to an ancestor.
List ancestors = getAncestors(descendant);
if (!ancestors.contains(ancestor)) {
 throw new IllegalArgumentException("The file \"" + descendant.getPath() + "\" "
 + "does not have ancestor \"" + ancestor.getPath() + "\".");
Iterator i = ancestors.iterator();
File f;
do {
...
String getRelativeBaseDirectory(final File processedFile)
Retrieves the relative base directory from the currently processed file
return processedFile.getParentFile().getParentFile().getAbsolutePath();
String getRelativeChildDirectory(String parent, String child)
Given 2 paths, make sure parent and child are on the same tree return the port of child that not in parent
try {
 String childPath = new File(child).getCanonicalFile().getPath().replace('\\', '/');
 String parentPath = new File(parent).getCanonicalFile().getPath().replace('\\', '/');
 if (!childPath.startsWith(parentPath)) {
 throw new IllegalStateException();
 String retDir = "." + childPath.substring(parentPath.length());
 return retDir;
...
String getRelativeDirectoryPath(String in_filePath, String in_basePath)
get Relative Directory Path
String relativePath = new File(in_basePath).toURI().relativize(new File(in_filePath).toURI()).getPath();
return standardiseDirectoryPath(relativePath);
File getRelativeFile(File parent, final String s2)
get Relative File
File sf2 = new File(s2);
if (sf2.isAbsolute()) {
 return sf2;
if (!parent.isDirectory()) {
 parent = parent.getParentFile();
File file = new File(parent, s2);
...
File getRelativeFile(File source, String path)
Construct the File that is separated from the given File by the given relative path.
source = source.getParentFile();
return new File(source, path);
File getRelativeFile(File subj, File relativeTo)
Gets the relative representations of a file compared to another.
return new File(getRelativePath(subj, relativeTo));


AltStyle によって変換されたページ (->オリジナル) /