2011-06-12 8 views
0

La structure du répertoire de ma demande est la suivante: -Impossible de lire le fichier Java JSF

My App 
++++++ src 
++++++++com 
++++++++++readProp.java 
++++++++resource 
++++++++++message.properties 

Je suis en train de lire le fichier comme suit: -

public Static final string FilePath="resource.message.properties" 

Voici le code à lire le fichier. J'ai essayé d'utiliser les techniques suivantes deux mais sans utilisation ...

File accountPropertiesFile = new File(FacesContext.getCurrentInstance() 
.getExternalContext().getRequestContextPath() 
+ FilePath); 

properties.load(externalContext.getResourceAsStream(FilePath)); 

Mais aucun yeild une sucess en lisant dans la classe Bean. S'il vous plaît aider ...

Répondre

0

Je ne sais pas si c'est votre problème, mais vous devriez essayer d'utiliser des barres obliques au lieu de points, car ils sont stockés en tant que dossiers réels dans le système de fichiers.

1

Votre fichier de propriétés se trouve dans le classpath. Le java.io.File ne comprend que la structure du système de fichiers du disque local. Ça ne va pas marcher. Vous devez l'obtenir directement du classpath par le classloader.

Voici un exemple de coup d'envoi:

ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); 
InputStream input = classLoader.getResourceAsStream("/resources/messages.properties"); 

if (input != null) { 
    Properties properties = new Properties(); 
    try { 
     properties.load(input); 
    } finally { 
     input.close(); 
    } 
} 
Questions connexes