Java Path Normalize normalize(String path)

Here you can find the source of normalize(String path)

Description

normalize

License

Open Source License

Declaration

public static String normalize(String path) 

Method Source Code

//package com.java2s;
/**//www. j  av  a  2 s.com
 * Copyright (c) 2008-2011 Sonatype, Inc.
 * All rights reserved. Includes the third-party code listed at http://www.sonatype.com/products/nexus/attributions.
 *
 * This program is free software: you can redistribute it and/or modify it only under the terms of the GNU Affero General
 * Public License Version 3 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 Affero General Public License Version 3
 * for more details.
 *
 * You should have received a copy of the GNU Affero General Public License Version 3 along with this program.  If not, see
 * http://www.gnu.org/licenses.
 *
 * Sonatype Nexus (TM) Open Source Version is available from Sonatype, Inc. Sonatype and Sonatype Nexus are trademarks of
 * Sonatype, Inc. Apache Maven is a trademark of the Apache Foundation. M2Eclipse is a trademark of the Eclipse Foundation.
 * All other trademarks are the property of their respective owners.
 */

public class Main {
    public static String normalize(String path) {
        String result = "/";

        String[] pathElems = path.split("/");

        for (int i = 0; i < pathElems.length; i++) {
            result = appendSingleElem(result, pathElems[i]);
        }
        return result;
    }

    public static String appendSingleElem(String base, String pathElem) {
        if ("..".equals(pathElem)) {
            if (!"/".equals(base)) {
                return base.substring(0, base.lastIndexOf('/'));
            } else {
                return "/";
            }
        }
        if ("/".equals(base)) {
            return "/" + pathElem;
        } else {
            return base + "/" + pathElem;
        }
    }
}

Related

  1. normalize(String path)
  2. normalize(String path)
  3. normalize(String path)
  4. normalize(String path)
  5. normalize(String path)
  6. normalize(String path, String separator)
  7. normalize(String pathname, int len, int off)
  8. normalize_color_path(int eff_color_path)
  9. normalizeAllSeparators(String path)