Mega Code Archive

 
Categories / Java / File Input Output
 

A utility class for manipulating paths

/*  * Copyright (C) 2008 Rob Manning  * manningr@users.sourceforge.net  *  * This library is free software; you can redistribute it and/or  * modify it under the terms of the GNU Lesser General Public  * License as published by the Free Software Foundation; either  * version 2.1 of the License, or (at your option) any later version.  *  * This library 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  * Lesser General Public License for more details.  *  * You should have received a copy of the GNU Lesser General Public  * License along with this library; if not, write to the Free Software  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA  */ /**  * A utility class for manipulating paths  *   * @author manningr  */ public class PathUtilsImpl  {   /**    * Constructs a path out of the pathElements.    *     * @param prependSlash    *           if true this will ensure that the result begins with "/".    * @param pathElements    *           the strings to connect. They can have "/" in them which will be de-duped in the result, if    *           necessary.    * @return the path that was constructed.    */   public String buildPath(boolean prependSlash, String... pathElements)   {     StringBuilder result = new StringBuilder("/");     for (String pathElement : pathElements)     {       result.append(pathElement).append("/");     }     String retVal = result.toString().replace("//", "/").replace("//", "/");     if (retVal.endsWith("/"))     {       retVal = retVal.substring(0, retVal.length() - 1);     }     return retVal;   }   /**    * Returns the file part of the specified path.    *     * @param path    *           the path    * @return the file part of the path    */   public String getFileFromPath(String path)   {     if (path.indexOf("/") == -1) { return path; }     int slashIndex = path.lastIndexOf("/");     return path.substring(slashIndex+1);   } }