2 votes

Récupérer un fichier à partir d'un classpath donné

public String getQuery(String nameFile, Package pathFile)
{
   // Comment obtenir sur le nom du fichier et le chemin du fichier
}

Je n'ai pas réussi à le faire via le classloader

String path = getClass().getPackage().getName().replace('.', File.pathSeparatorChar);
String file = path + "file.txt";
InputStream in = this.getClass().getClassLoader().getResourceAsStream(file);

return in = null

1voto

JB Nizet Points 250258

Le pathSeparatorChar est : sur Unix et ; sur Windows. Il n'a rien à voir avec le caractère utilisé pour charger les ressources à partir du ClassLoader, qui est /, sur toutes les plates-formes.

De plus, vous avez oublié un séparateur entre le chemin et le nom du fichier. Cela devrait être

String path = getClass().getPackage().getName().replace('.', '/');
String file = path + "/file.txt";
InputStream in = this.getClass().getClassLoader().getResourceAsStream(file);

Ou, beaucoup plus simple, puisque la classe Class a une méthode qui peut charger les ressources à partir du même package que la classe directement:

InputStream in = this.getClass().getResourceAsStream("file.txt");

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X