Référencement d'un fichier. dat dans un projet Java
J'ai du mal à faire référence à un .fichier dat dans mon projet java dans Eclipse. Ma structure de fichier ressemble à ceci:
J'essaie de faire référence à 'Geoilite.dat 'de mon' LookupCountry.java fichier. Quand je dis "Référence", je veux dire simplement obtenir un objet String du chemin, puis l'envoyer en tant que paramètre à une classe située sous les "bibliothèques référencées" dans un pot.
Mon code dans LookupCountry.java est comme suit:
try{
String dbFile = "../resources/GeoIPLite.dat"
// TRIED ALL THESE AS WELL:
//String dbFile = "/../resources/GeoIPLite.dat"
//String dbFile = "/resources/GeoIPLite.dat"
//String dbFile = "resources/GeoIPLite.dat"
//Some more code calling the jar file......
}catch(IOException e){
//Handles exception
}
Donc, fondamentalement, j'obtiens un IOException qui est jeté du pot en disant que le chemin vers le .le fichier dat est incorrect.
Des idées??
2 answers
Utilisez la même structure de paquet dans votre dossier resource
que dans votre dossier src
. Ajoutez votre dossier de ressources en tant que dossier source dans Eclipse (voir capture d'écran). Lieu les .dat fichier, dans le dossier de ressources, par rapport à la classe qui va l'utiliser. Vous devriez voir vos fichiers de ressources à côté de vos classes compilées.
Dans votre code, référencez le fichier de ressources comme suit:
this.getClass().getResource("foo.txt");
Dans Eclipse, par exemple, lorsque vous exécutez une classe, vous la configurez pour savoir où se trouve le "dossier actuel". Dans le menu: Exécuter > Exécuter la configuration ... et choisissez celle que vous utilisez.
Cliquez ensuite sur l'onglet 'Arguments' et vérifiez le répertoire de travail.
Votre chemin doit être relatif à l'emplacement indiqué là. (Dans l'image coupée, il montre la valeur par défaut qui est le dossier de base du projet lui-même.)
Vous ouvririez le fichier en tant que new File("resources/GeoIPLite.dat")
avec la valeur par défaut répertoire de travail.