相關(guān)資訊
- Office 2010免費(fèi)但卻含有廣告
- Facebook估值飆升 破1000億不是問題
- 搶先目睹Windows 8新視覺主題Aero
- AMD轉(zhuǎn)向云計(jì)算服務(wù) 為對(duì)抗internet
- SteelSeries《魔獸世界》專用鼠標(biāo)體
- CeBIT 2011向我們傳達(dá)了什么信息?
- 谷歌新版手機(jī)將移除Facebook通訊應(yīng)
- Java schedule與scheduleAtFixRate
- 編程語言PHP在Web開發(fā)領(lǐng)域的優(yōu)勢(shì)在
- WCF學(xué)習(xí):Instance context model(
本類常用軟件
-
福建農(nóng)村信用社手機(jī)銀行客戶端下載下載量:584204
-
Windows優(yōu)化大師下載量:416918
-
90美女秀(視頻聊天軟件)下載量:366961
-
廣西農(nóng)村信用社手機(jī)銀行客戶端下載下載量:365699
-
快播手機(jī)版下載量:325855
ByteBuffer轉(zhuǎn)String的方法
2013/3/19 23:33:27 出處:本站原創(chuàng) 人氣:4482次 字號(hào):小 中 大
ByteBuffer俗稱緩沖器,是將數(shù)據(jù)移進(jìn)移出通道的唯一方式,并且我們只能創(chuàng)建一個(gè)獨(dú)立的基本類型緩沖器,或者使用”as”方法從ByteBuffer中獲得。
ByteBuffer中存放的是字節(jié)數(shù)組,如果要將它們轉(zhuǎn)換成字符串則需要使用 Charset,Charset是字符編碼,它提供了把字節(jié)流轉(zhuǎn)換成字符串 ( 解碼 ) 和將字符串轉(zhuǎn)換成字節(jié)流 ( 編碼) 的方法。
最近做的項(xiàng)目需要用到ByteBuffer進(jìn)行數(shù)據(jù)的傳輸,因此會(huì)用涉及到將ByteBuffer轉(zhuǎn)換為String的過程。
以下是實(shí)現(xiàn)該過程的方法:
public static String byteBufferToString(ByteBuffer buffer) {
CharBuffer charBuffer = null;
try {
Charset charset = Charset.forName("UTF-8");
CharsetDecoder decoder = charset.newDecoder();
charBuffer = decoder.decode(buffer);
buffer.flip();
return charBuffer.toString();
} catch (Exception ex) {
ex.printStackTrace();
return null;
}
}
需要說明的是,flip方法會(huì)將緩沖區(qū)的當(dāng)前位置”重置”到緩沖區(qū)的開始處.這樣可以保證傳入的對(duì)像被其他方法使用時(shí)讀取的數(shù)據(jù)完整性.