Encore un problème de getRessourceAsStream
J'ai eu beau lire les diverses discussion sur le sujet d'accès aux ressources d'un programme via getRessourceAsStream, je n'y arrive pas.
Je suis sous eclipse.
J'ai cette arborescence de répertoires
Projet
/source...
J'ai inclus mon répertoire donnees dans le classpath.
J'utilise cette classe là pour lire le fichier ressource :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
public class Fichier
{
/**
* renvoie le contenu d'un fichier sous forme d'une String
* Le fichier doit être codé en UTF8
* @param fichier le nom du fichier (avec le chemin d'accès)
* @return le contenu = les lignes lues séparées par \n
* @throws IOException erreur d'accés au fichier
*/
public static String chargerContenuTexte(String fichier) throws IOException
{
StringBuilder chTmp;
BufferedReader lect = null;
InputStream is = Fichier.class.getResourceAsStream(fichier);
try
{
// Initialisations
chTmp = new StringBuilder();
// lect = new BufferedReader (new InputStreamReader (new FileInputStream (fic), "UTF-8")) ;
lect = new BufferedReader (new InputStreamReader (is, "UTF-8")) ;
// Lire le fichier
String ligne ;
while ((ligne = lect.readLine()) != null)
{
chTmp.append (ligne) ;
chTmp.append ("\n") ;
}
// Fermer le fichier
lect.close() ;
lect = null ;
}
finally
{
if (lect != null)
{
try { lect.close(); }
catch (Throwable e){};
}
}
// Renvoyer le texte
return chTmp.toString() ;
}
} |
Avec la variable fichier qui vaut : donnees/donnees.txt.
Lorsque je trace l'exécution, le InputStream is vaut null et donc bien sûr déclenche une erreur lors des tentatives de lecture du flux.
Bien entendu j'ai aussi essayé avec "/donnees/donnees.txt" et même "Projet/donnees/donnees.txt".
Qui peut me dire ce qui marche pas ?