2010-11-19 15 views
1

Possible en double:
How to create a Java String from the contents of a filela lecture d'un fichier texte en Java et en faire une chaîne

Salut je voudrais lire un fichier texte et que le message soit une chaîne.

String message = StringUtils.decode(FileUtils.readFileContent(templateResource.getFile(), templateResource.getCharset(), (int) templateResource.getLength()), notification.getParams()); 

je ne suis pas très bon avec java, comment puis-je convertir cela, il serait donc travailler? le patch du fichier que j'essaie de lire est: sms-notification/info-response.1.txt

Je ne veux pas utiliser la fonction de décodage peut-être que le contenu du fichier texte est statique .

je ferais quelque chose comme:

String message = StringUtils.decode(FileUtils.readFileContent("sms-notification/info-response.1.txt".getFile(), templateResource.getCharset(), (int) templateResource.getLength()), notification.getParams()); ? 

parce que ne fonctionne pas.

+2

Identique à [Comment créer une chaîne Java à partir du contenu d'un fichier ] (http://stackoverflow.com/questions/326390/how-to-create-a-java-string-from- le-contenu-d'un fichier). –

+0

D'accord, Matthew. –

Répondre

1

Les fichiers sont un flux d'octets, les chaînes sont un flux de caractères. Vous devez définir un jeu de caractères pour la conversion. Si vous ne le définissez pas explicitement, le jeu de caractères du système d'exploitation par défaut sera utilisé et vous risquez d'obtenir des résultats inattendus.

StringBuilder sb = new StringBuilder(); 
try { 
    BufferedReader in = new BufferedReader(new InputStreamReader(
     new FileInputStream(fileName), "UTF-8")); 
    char[] buf = new char[1024]; 
    while ((int len = in.read(buf, 0, buf.length)) > 0) { 
     sb.append(buf, 0, len); 
    } 
    in.close(); 
} catch (IOException e) { 
} 
sb.toString(); 
+0

Cela supprimera toutes les nouvelles lignes. –

+0

Hmm, vous avez raison. Message corrigé. –