Here you can find the source of relativePath(File baseDir, File storeFile)
Parameter | Description |
---|---|
baseDir | The base directory, containing the storeFile |
storeFile | The store file path, must be contained under <code>baseDir</code> |
Parameter | Description |
---|---|
IOException | As per File#getCanonicalPath() |
storeFile
to baseDir
public static String relativePath(File baseDir, File storeFile) throws IOException
//package com.java2s; /*/*from ww w. j a v a2s.co m*/ * Copyright (c) 2002-2015 "Neo Technology," * Network Engine for Objects in Lund AB [http://neotechnology.com] * * This file is part of Neo4j. * * Neo4j 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; import java.io.FileNotFoundException; import java.io.IOException; public class Main { /** * Given a directory and a path under it, return filename of the path * relative to the directory. * * @param baseDir The base directory, containing the storeFile * @param storeFile The store file path, must be contained under * <code>baseDir</code> * @return The relative path of <code>storeFile</code> to * <code>baseDir</code> * @throws IOException As per {@link File#getCanonicalPath()} */ public static String relativePath(File baseDir, File storeFile) throws IOException { String prefix = baseDir.getCanonicalPath(); String path = storeFile.getCanonicalPath(); if (!path.startsWith(prefix)) { throw new FileNotFoundException(); } path = path.substring(prefix.length()); if (path.startsWith(File.separator)) { return path.substring(1); } return path; } }