Maison > Java > javaDidacticiel > le corps du texte

Explication détaillée de la disposition du chemin des ressources Java

黄舟
Libérer: 2017-03-17 10:22:19
original
2202 Les gens l'ont consulté

Cet article présente principalement les informations pertinentes sur le tri et le résumé du chemin des ressources Java. Les amis dans le besoin peuvent se référer au

Chemin des ressources Java

Tout d'abord, c'est très important. Il n'y a pas de chemin relatif standard en Java. Différents chemins relatifs pour obtenir des ressources sont convertis en chemins absolus basés sur certaines règles


Ensuite, c'est aussi très important, absolu N'utilisez pas directement les chemins absolus, sinon ce sera moche


Sur la base des deux points ci-dessus, le problème du chemin des ressources peut se résumer en un point : trouver le point de base, c'est-à-dire dans un certain environnement (web, paquet j2ee ou jar, etc.) Trouvez un point de base stable grâce à une méthode adaptée, puis trouvez la ressource souhaitée grâce à ce point de base


Quels sont les points de base en Java ? Pour résumer grossièrement, il y a les éléments suivants :


1) classpath


Si la ressource que vous recherchez se trouve sous le classpath, alors il est plus approprié d'utiliser le classpath comme point de base, et Le principal moyen d'obtenir ce point de base est via ClassLoader. La méthode spécifique est ClassLoader.getResource(

String name). >

    Thread.currentThread().getContextClassLoader()
  1. clazz.getClassLoader()
  2. ClassLoader.getSystemClassLoader()

  3. Le principe d'implémentation de ClassLoader pour trouver des ressources est de d'abord
récursivement

charger les ressources à partir du chemin de classe dans le classLoader parent (comment pour charger le JDK à la fin n'est pas open source), si tous les niveaux de classLoaders ne le sont pas, s'il est trouvé, appelez la méthode findResource pour le trouver, et cette méthode est exposée au classLoader fait maison pour l'implémentation, donnant ainsi la possibilité de charger des ressources en dehors du chemin de classe.
2) Le répertoire utilisateur actuel


est le chemin renvoyé par rapport à System.getProperty("user.dir" ). du projet. Pour les serveurs JavaEE, il peut s'agir d'un chemin d'accès au serveur. Il n’existe pas de norme unifiée pour cela ! Cependant, par défaut, les classes du package java.io analysent toujours les noms de chemin relatifs en fonction du répertoire utilisateur actuel, tels que new File("xxx"), ce qui signifie rechercher xxx sous System.getProperty("user.dir") document de chemin. Par conséquent, localiser les fichiers de cette manière peut entraîner des problèmes de portage.


3) Le répertoire racine de l'application Web


Dans une application Web, on récupère généralement le répertoire racine de l'application Web via le ServletContext.getRealPath("/ ") Méthode Le chemin absolu du répertoire.

Après avoir maîtrisé les points de base ci-dessus, vous pouvez facilement localiser la ressource que vous recherchez. Cependant, vous devez clairement comprendre que vous ne devez pas simplement rechercher un bonheur temporaire, quelle que soit la vie ou la mort des futures greffes. doit s'assurer qu'il peut être utilisé dans n'importe quel environnement. Il n'y a aucun problème lors du téléchargement (j2se ou web, windows ou

Linux

).

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!