Heim > Artikel > Backend-Entwicklung > Wenden Sie absolute und relative Pfade an
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("");
}
}