Java Relative Path Get relativizePath(File from, File to)

Here you can find the source of relativizePath(File from, File to)

Description

Takes Two Path's and Relativizes One to the Other.

License

Open Source License

Parameter

Parameter Description
from a parameter
to a parameter

Declaration

public static final String relativizePath(File from, File to) 

Method Source Code

//package com.java2s;
/*Argus -- A Zip Installer for Circumventing Common Educational Web Blocks
Copyright (C) 2014 Matthew Crocco/*w  w w.  ja v  a 2  s.com*/
    
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
    
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
    
You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>. */

import java.io.File;

public class Main {
    /**
     * Takes Two Path's and Relativizes One to the Other. In terms of parameters <br />
     * the <code>'from'</code> path is made relative to the <code>'to'</code> path. <br />
     * <br />
     * If <code> 'to'</code> is not found in <code>'from'</code> then <code>'from'</code> is returned. <br/>
     * <br />
     * The Following Code will print "./Matt" <br />
     * <code> <br />
     * String from = "C://Users/Matt"; <br />
     * String to = "C://Users"; <br />
     * <br />
     * System.out.println(relativizePath(from, to)); <br />
     * </code> <br />
     * <br />
     * @param from
     * @param to
     * @return
     */
    public static final String relativizePath(File from, File to) {
        return relativizePath(from.getAbsolutePath(), to.getAbsolutePath());
    }

    /**
     * Takes Two Path's and Relativizes One to the Other. In terms of parameters <br />
     * the <code>'from'</code> path is made relative to the <code>'to'</code> path. <br />
     * <br />
     * If <code> 'to'</code> is not found in <code>'from'</code> then <code>'from'</code> is returned. <br/>
     * <br />
     * The Following Code will print "./Matt" <br />
     * <code> <br />
     * String from = "C://Users/Matt"; <br />
     * String to = "C://Users"; <br />
     * <br />
     * System.out.println(relativizePath(from, to)); <br />
     * </code> <br />
     * <br />
     * @param from
     * @param to
     * @return
     */
    public static final String relativizePath(String from, String to) {
        if (from.contains(to)) {
            String tmp = from.substring(to.length());
            return "." + tmp;
        } else
            return from;
    }
}

Related

  1. relativize(File path, File relative)
  2. relativize(final File root, final File target)
  3. relativize(String path)
  4. relativize(String path)
  5. relativize(String path, String base)
  6. relativizePath(final File path, final File base)
  7. relativizePath(String parent, String child)
  8. relativizePathSegments(String[] srcSegments, String[] destSegments)