第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java write(str.getBytes()) 與 writeBytes(str)

Java write(str.getBytes()) 與 writeBytes(str)

開心每一天1111 2022-12-28 13:56:10
使用 DataOutputStream 推送字符串時,我通常會執(zhí)行以下操作:DataOutputStream dout;String str;dout.write(str.getBytes());我剛剛遇到 的writeBytes()方法DataOutputStream,我的問題是上面是否等同于:dout.writeBytes(str);如果不是,有什么區(qū)別,什么時候應(yīng)該使用?
查看完整描述

1 回答

?
HUWWW

TA貢獻1874條經(jīng)驗 獲得超12個贊

不,它不等價。


JavadocswriteBytes說


將字符串作為字節(jié)序列寫出到底層輸出流。字符串中的每個字符通過丟棄其高八位按順序?qū)懗觥?/p>


因此,除了 ASCII 字符串外,這將無法正常工作。


你應(yīng)該做的


dout.write(str.getBytes(characterSet));

// remember to specify the character set, otherwise it become 

// platform-dependent and the result non-portable

要么


dout.writeChars(str);

要么


dout.writeUTF(str);

請注意,只有最后一個方法還寫入字符串的長度,因此對于其他方法,如果您打算稍后讀回它,您可能需要確切地知道您在做什么。


更大的問題是為什么你需要直接使用像 DataOutputStream 這樣的底層協(xié)議。


查看完整回答
反對 回復(fù) 2022-12-28
  • 1 回答
  • 0 關(guān)注
  • 133 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號