2010-11-19 22 views
1

Olası Çoğalt yapma:
How to create a Java String from the contents of a filejava bir metin dosyasını okuyup bir karakter dizisinin o

Merhaba ben bir metin dosyası okumak ve mesaj bir dize yapmak istiyorum.

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

java ile çok iyi değilim, bu yüzden nasıl çalışır? i okumaya çalışıyorum dosyanın yama: Ben metin dosyasının içeriğini sadece statik vardır belki de kod çözme özelliği kullanmak istemiyorsanız

sms bildirim/bilgi-response.1.txt . O çalışmıyor çünkü

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

:

i gibi bir şey yapardı.

+2

aynı şekilde [bir dosyanın içeriklerinden bir Java dize nasıl oluşturulur] (http://stackoverflow.com/questions/326390/how-to-create-a-java-string-from- -içerikleri-of-a-dosyası). –

+0

Anlaşıldı, Matthew. –

cevap

1

Dosyalar bir bayt dizisidir, Dizeler bir karakter dizisidir. Dönüşüm için bir karakter kümesi tanımlamanız gerekir. Bunu açıkça ayarlamazsanız, varsayılan işletim sistemi karakter takımı kullanılır ve beklenmedik sonuçlar alabilirsiniz.

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

Bu, tüm yeni satırları bırakacaktır. –

+0

Hmm, haklısınız. Yayın düzeltildi. –

İlgili konular