Récupérer le fichier dans le dossier de ressources en Java
Je veux lire le fichier dans mon dossier de ressources dans mon projet Java. J'ai utilisé le code suivant pour que
MyClass.class.getResource("/myFile.xsd").getPath();
Et je voulais vérifier le chemin d'accès du fichier. Mais il donne le chemin d'accès suivant
file:/home/malintha/.m2/repository/org/wso2/carbon/automation/org.wso2.carbon.automation.engine/4.2.0-SNAPSHOT/org.wso2.carbon.automation.engine-4.2.0-SNAPSHOT.jar!/myFile.xsd
- Je obtenir le chemin d'accès au fichier dans le repository maven dépendance et il n'est pas d'obtenir le fichier. Comment puis-je faire cela?
Vous devez vous connecter pour publier un commentaire.
Vous devez donner le chemin de votre
res
dossier.Est votre répertoire de ressources dans le classpath?
Vous n'êtes pas notamment un annuaire de ressources dans votre chemin:
Un moyen fiable pour construire une instance de Fichier à partir du dossier de ressources est-il copier la ressource, comme un flux dans un Fichier temporaire (temp fichier sera supprimé lorsque la JVM des sorties):
Il n'est pas possible d'accéder aux ressources d'autres modules maven. Si vous avez besoin de fournir votre ressource myFile.xsd dans votre
src/main/resources
ousrc/test/resources
dossier.Le chemin d'accès est correct, mais pas sur le système de fichiers, mais à l'intérieur du bocal. C'est parce que le pot était en cours d'exécution. Une ressource n'est jamais garanti d'être un Fichier.
Toutefois, si vous ne voulez pas utiliser de ressources, vous pouvez utiliser un fichier zip système. Cependant
Files.copy
suffirait de copier le fichier en dehors du pot. La modification du fichier à l'intérieur de le pot est une mauvaise idée. Une meilleure utilisation de la ressource en tant que "modèle" pour faire une copie initiale dans le home de l'utilisateur (sous-)répertoire (System.getProperty("user.home")
).Dans le projet maven, permet de supposer que, nous avons le fichier dont le nom est "config.cnf" et c'est endroit est ci-dessous.
En IDE (Eclipse), je accéder à ce fichier à l'aide du chargeur de classe.getResource(..) la méthode, mais si j'ai couru cette application à l'aide de pot, je l'ai toujours dans "Fichier non trouvé" l'exception". Enfin, j'ai écrit une méthode d'accès au fichier en regardant où l'application fonctionne.
Si vous appelez cette méthode par l'envoi de "conf/config.conf" param, vous pouvez accéder à ce fichier à partir d'un bocal et IDE.