2010-11-19 3 views
1

Mögliche Duplizieren machen:
How to create a Java String from the contents of a fileeine Textdatei in Java zu lesen und es sich um eine Zeichenfolge

Hallo Ich möchte eine Textdatei lesen und machen die Nachricht einen String.

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

ich bin nicht sehr gut mit Java, wie kann ich dies konvertieren, damit es funktionieren würde? der Patch der Datei, die ich versuche zu lesen ist: sms-notification/info-response.1.txt

Ich möchte nicht die Dekodierungsfunktion vielleicht verwenden, da der Inhalt der Textdatei nur statisch ist .

würde ich so etwas wie:

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

weil das nicht funktioniert.

+2

Das gleiche wie [Wie ein Java-String aus dem Inhalt einer Datei erstellen ] (http://stackoverflow.com/questions/326390/how-to-create-a-java-string-from- der Inhalt einer Datei). –

+0

Einverstanden, Matthew. –

Antwort

1

Dateien sind ein Stream von Bytes, Strings sind ein Strom von Zeichen. Sie müssen einen Zeichensatz für die Konvertierung definieren. Wenn Sie dies nicht explizit festlegen, wird der Standard-OS-Zeichensatz verwendet, und Sie erhalten möglicherweise unerwartete Ergebnisse.

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

Dadurch werden alle Zeilenumbrüche gelöscht. –

+0

Hmm, du hast Recht. Beitrag korrigiert. –