下面的代碼顯然給出了一個相當奇怪的結果。字符串未填滿字符數組
char[] data = new char[5];
data[0] = 'a';
data[1] = 'b';
data[2] = 'c';
out.println("'" + new String(data) + "'");
「ABC□□」
有沒有一種方法來創建一個字符數組,考慮到整個陣列可能不填充與結束字符的字符串?
原因問題:當使用Reader.read(char[])
方法,你給它一個字符數組來填充,我只能假設不會被填滿,除非你是幸運的,當你到達終點的流。所以想知道如何將它變成一個可以追加到StringBuffer
的字符串。儘管現在認識到read
方法實際上會返回讀取的字節數,但我認爲它可以與StringBuffer.append(char[], int, int)
組合使用,這使我的問題沒有意義。但是,仍然是我很好奇,這也不是我設法通過Google找到,所以我想這個問題是好事,這裏的答案;)
解決方案是否必須處理嵌入的空字符,如果是,應該採取什麼行爲? – hmjd
如果通過嵌入你的意思是與其他字符混合在一起,那麼沒有。 – Svish
這裏真正的問題是空字符是如何到達那裏的?你是否忽略了更多的讀取結果? – EJP