Java Class Path getRootAbsolutePathname(final Class clazz)

Here you can find the source of getRootAbsolutePathname(final Class clazz)

Description

get Root Absolute Pathname

License

Apache License

Declaration

public static String getRootAbsolutePathname(final Class<?> clazz) 

Method Source Code


//package com.java2s;
/*/*from ww w .  j  ava  2 s.  co  m*/
 *  Copyright 2012 Francesco Illuminati
 *
 *  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.
 *  under the License.
 */

import java.net.URL;

public class Main {
    public static String getRootAbsolutePathname(final Class<?> clazz) {
        return getClassAbsolutePathname(clazz).replace(getClassRelativePathname(clazz), "");
    }

    public static String getClassAbsolutePathname(final Class<?> clazz) {
        final String fullpath = getClassAbsoluteFilename(clazz);
        return fullpath.replace(clazz.getSimpleName() + ".class", "");
    }

    public static String getClassRelativePathname(final Class<?> clazz) {
        final String path = clazz.getName();
        return "/" + path.replace(clazz.getSimpleName(), "").replaceAll("\\.", "/");
    }

    public static String getClassAbsoluteFilename(final Object obj) {
        return getClassAbsoluteFilename(obj.getClass());
    }

    public static String getClassAbsoluteFilename(final Class<?> clazz) {
        final String name = clazz.getName().replaceAll("\\.", "/") + ".class";
        final URL url = clazz.getClassLoader().getResource(name);
        return url.getFile();
    }
}

Related

  1. getInputStream(Class cls, String path)
  2. getPath(Class tClass)
  3. getPath(final String aPath, final Class aClass)
  4. getPath(String name, Class relativeTo)
  5. getProgramRootPath(Class clazz)
  6. getRunClassAllPath(Object obj)
  7. getSystemLibraryPath(Class locatorClass, String subDir)