Here you can find the source of getRelativePathName(Path root, Path path)
Parameter | Description |
---|---|
root | the root Path to relativize against |
path | the Path to get the name for |
public static String getRelativePathName(Path root, Path path)
//package com.java2s; /*//from www . j a v a 2 s.com * Copyright 2013-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import java.nio.file.Files; import java.nio.file.Path; public class Main { /** * Returns a relative and normalized name for a {@link Path}. This method ensures that directories have a single trailing slash in their name * * @param root the root {@link Path} to relativize against * @param path the {@link Path} to get the name for * @return The relative and normalized name */ public static String getRelativePathName(Path root, Path path) { Path relative = root.relativize(path); return Files.isDirectory(path) && !relative.toString().endsWith("/") ? String.format("%s/", relative.toString()) : relative.toString(); } }