關(guān)于字符流的輸出問題
有一個問題:
while((c=isr.read(buf, 0, buf.length))!=-1){
String s = new String(buf, 0, c);
System.out.println(s);
為什么要把字符數(shù)組轉(zhuǎn)換成字符串輸出,這跟直接輸出字符數(shù)組的結(jié)過時一樣的?
有一個問題:
while((c=isr.read(buf, 0, buf.length))!=-1){
String s = new String(buf, 0, c);
System.out.println(s);
為什么要把字符數(shù)組轉(zhuǎn)換成字符串輸出,這跟直接輸出字符數(shù)組的結(jié)過時一樣的?
2016-05-05
舉報
2016-06-06
跟直接輸出字符數(shù)組的結(jié)果是不一樣的。至于為什么要轉(zhuǎn)換成字符串輸出個人認(rèn)為是因為是如果是你單單拿字符數(shù)組來輸出的時候由于字符數(shù)據(jù)之間沒有明顯的分隔的界限,導(dǎo)致輸出的字符是不一致的。而c是返回的是讀到的字符的個數(shù),用String來轉(zhuǎn)換成所讀到的字符來輸出就可以很明顯的分隔出來。以上只是個人愚見,有些地方說的可能不太清楚,歡迎來指正與討論
2016-07-19
當(dāng)然不一樣啦,數(shù)組對象并沒有實現(xiàn)toString()方法,當(dāng)你直接把字節(jié)數(shù)組放到print中打印時,打印的是一個個的地址(應(yīng)該是指向數(shù)組內(nèi)對象的地址)。如果想直接打印,可以使用Arrays工具類,利用工具類中的toString()方法,Arrays.toString(c),但是這樣寫其實同樣是把字節(jié)數(shù)組轉(zhuǎn)化成了string,具體可以去看下api中的說明
2016-05-06
字符串就是字符數(shù)組