Java Path Relative Get getRelativePath(File path, File base)

Here you can find the source of getRelativePath(File path, File base)

Description

The base attribute specifies what the directory base the relative path should be considered relative to.

License

Open Source License

Declaration

public static String getRelativePath(File path, File base) 

Method Source Code

//package com.java2s;
/*//from   ww w. j a v  a  2  s .  co  m
 * RHQ Management Platform
 * Copyright (C) 2005-2008 Red Hat, Inc.
 * All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License, version 2, as
 * published by the Free Software Foundation, and/or the GNU Lesser
 * General Public License, version 2.1, also as published by the Free
 * Software Foundation.
 *
 * 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 and the GNU Lesser General Public License
 * for more details.
 *
 * You should have received a copy of the GNU General Public License
 * and the GNU Lesser General Public License along with this program;
 * if not, write to the Free Software Foundation, Inc.,
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 */

import java.io.File;

public class Main {
    /**
     * The base attribute specifies what the directory base the relative path should be considered relative to. The base
     * must be part of the absolute path specified by the path attribute.
     */
    public static String getRelativePath(File path, File base) {
        String path_abs = path.getAbsolutePath();
        String base_abs = base.getAbsolutePath();
        int idx = path_abs.indexOf(base_abs);
        if (idx == -1) {
            throw new IllegalArgumentException("Path (" + path_abs + ") "
                    + "does not contain " + "base (" + base_abs + ")");
        }

        String relativePath = "."
                + path_abs.substring(idx + base_abs.length());
        return relativePath;
    }
}

Related

  1. getRelativePath(File original, File directory)
  2. getRelativePath(File parent, File child)
  3. getRelativePath(File parent, File child)
  4. getRelativePath(File parent, File f)
  5. getRelativePath(File parentDirectory, File file)
  6. getRelativePath(File path, File basePath)
  7. getRelativePath(File ref_file, File tst_file)
  8. getRelativePath(File root, File file)
  9. getRelativePath(File root, File file)