Heim  >  Artikel  >  Backend-Entwicklung  >  Wenden Sie absolute und relative Pfade an

Wenden Sie absolute und relative Pfade an

巴扎黑
巴扎黑Original
2016-12-20 16:27:291104Durchsuche

Dieses Problem hängt davon ab, wo Ihre Konfigurationsdatei abgelegt wird. Wenn sie im Klassenverzeichnis (oder Unterverzeichnis) des Projekts abgelegt wird, können Sie **.Class.getResource('relative path') verwenden, um die Konfigurationsdatei abzurufen Wenn es sich um ein anderes Verzeichnis handelt, können Sie beim Starten des Projekts nur das Projektstammverzeichnis + das Konfigurationsdateiverzeichnis abrufen und den Pfad an einen Ort setzen, an dem auf die Klassendatei verwiesen werden kann >Das Folgende ist meine A-Klasse, die zum Abrufen geschriebener Pfade verwendet wird, wenn die Arbeit an einem Projekt möglicherweise nicht sehr gut ist. Ich hoffe jedoch, dass sie für Sie hilfreich sein kann:
Paket com.example.web

import java.io.File;
import java.net.URL; **
* Pfaderfassungsklasse
**/
public class WebPath {
/**
* Holen Sie sich den absoluten Pfad zum Projektstammverzeichnis
*
* @return wie zum Beispiel: F:TongJianpengJ2EEUtil
**/
public static String getAbsolutePathWithProject() {
return System.getProperty("user.dir");
}

/**
* Holen Sie sich den Laufwerksbuchstaben des Projekts
**/
public static String getDriverPathWithProject() {
return new File("/").getAbsolutePath(}

/**
* Holen Sie sich den absoluten Pfad zum Projektstammverzeichnis
*
* @return das Projektstammverzeichnis Zum Beispiel
*/
public static String getAbsolutePathWithWebProject(
HttpServletRequest request) {
return request.getSession().getServletContext().getRealPath("/"); >}

/**
* Rufen Sie den absoluten Pfad zum angegebenen Verzeichnis unter dem Projektstammverzeichnis ab.
*
* @param Das angegebene Verzeichnis unter dem Projektstammverzeichnis.
* Das angegebene Verzeichnis. Zum Beispiel:
F:tomcatwebappsJ2EEUtillogin
**/
public static String getAbsolutePathWithWebProject(
HttpServletRequest request, String path) {
return request.getSession().getServletContext().getRealPath( path);
}

/**
* Holen Sie sich den absoluten Pfad zum Projektstammverzeichnis
*
* @return das Projektstammverzeichnis Zum Beispiel
*/
public static String getAbsolutePathWithWebProject(ServletContext context) {
return context.getRealPath("/">}

/**
* Rufen Sie den absoluten Pfad zum angegebenen Verzeichnis unter dem Projektstammverzeichnis ab.
*
* @param Das angegebene Verzeichnis unter dem Projektstammverzeichnis.
* Das angegebene Verzeichnis. Zum Beispiel:
F:tomcatwebappsJ2EEUtillogin
**/
public static String getAbsolutePathWithWebProject(ServletContext context,
String path) {
return context.getRealPath(path);
}

/ **
* Holen Sie sich den absoluten Pfad des Klassenpfadverzeichnisses des Projekts
*
* @return den absoluten Pfad des Klassenverzeichnisses
* file:/F:/tomcat/webapps/J2EEUtil /WEB- INF/classes/
**/
öffentliche statische URL getAbsolutePathWithClass() {
return WebPath.class.getResource("/");
}

/**
* Rufen Sie den absoluten Pfad zum angegebenen Verzeichnis im Klassenpfadverzeichnis des Projekts ab.
*
* @param-Pfad
* Das angegebene Verzeichnis im Klassenverzeichnis. Zum Beispiel:/com/
* @return-Datei: /F:/tomcat/webapps/J2EEUtil/WEB-INF/classes/com/
**/
öffentliche statische URL getAbsolutePathWithClass(String path) {
return WebPath.class.getResource(path);
}

/**
* Ermitteln Sie den absoluten Pfad des Verzeichnisses, in dem sich die angegebene Klassendatei befindet.
*
* @param clazz
* Klasse
* @return Der absolute Pfad der Klassendatei. Zum Beispiel :
Main.java-Klasse unter Paket com.Aries.Util.Web.
* Der Pfad ist: file:/
* F:/tomcat/webapps/J2EEUtil /WEB-INF/classes/ com/Aries/Util/Web/
**/
öffentliche statische URL getAbsolutePathWithClass(Class clazz) { 
  return clazz.getResource(""); 

}

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn