В этой статье описывается метод получения абсолютного пути файла с помощью Java. Поделитесь этим для вашей ссылки. Конкретный метод реализации следующим образом:
Скопируйте код следующим образом:/**
* Получите абсолютный путь, в котором находится файл класса класса. Этот класс может быть собственным классом JDK, пользовательским классом или классом в стороннем пакете разработки.
* Пока это класс, который может быть загружен в этой программе, он может быть расположен по абсолютному пути своего файла класса.
*
* @param cls
* Атрибут класса объекта
* @return Абсолютный путь к местоположению файла класса в этом классе. Если для этого класса нет определения, NULL возвращается.
*/
Приватная строка getPathFromClass (класс CLS) бросает ioException {
String Path = null;
if (cls == null) {
бросить новое NullPointerException ();
}
Url url = getClassLocationUrl (CLS);
if (url! = null) {
path = url.getPath ();
if ("jar". EqualsignoreCase (url.getProtocol ())) {
пытаться {
PATH = новый URL (PATH) .GETPATH ();
}
Catch (Malformedurlexception e) {
}
int location = path.indexof ("!/");
if (location! = -1) {
path = path.substring (0, местоположение);
}
}
File file = new File (path.replaceall ("%20", ""));
path = file.getCanonicalPath ();
}
возвратный путь;
}
/**
* Получите URL -адрес расположения файла класса. Этот метод является самым основным методом этого класса и для других методов вызовет.
*/
Private URL GetClassLocationUrl (Final Class CLS) {
if (cls == null) {
бросить новое allosalargumentException («класс, этот ввод, нулевой»);
}
URL -результат = null;
final String clsasresource = cls.getName (). Заменить ('.', '/').concat(".class ");
Окончательный защита, Pd = cls.getProtectionDomain ();
if (pd! = null) {
Окончательный кода cs = pd.getCodesource ();
if (cs! = null) {
result = cs.getLocation ();
}
if (result! = null) {
if ("file" .equals (result.getProtocol ())) {
пытаться {
if (result.toexternalform (). endswith (". jar") || result.toexternalform (). endswith (". Zip")) {
result = new URL ("jar:". concat (result.toexternalform ()). concat ("!/"). concat (clsasresource));
}
else if (new file (result.getfile ()). isdirectory ()) {
result = новый URL (результат, clsasresource);
}
}
Catch (Malformedurlexception игнорировать) {
}
}
}
}
if (result == null) {
final ClassLoader ClsLoader = cls.getClassLoader ();
result = clsloader! = null?
}
результат возврата;
}
Я надеюсь, что эта статья будет полезна для всех Java Programming.