相關(guān)資訊
本類常用軟件
-
福建農(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次 字號:小 中 大
ByteBuffer俗稱緩沖器,是將數(shù)據(jù)移進(jìn)移出通道的唯一方式,并且我們只能創(chuàng)建一個獨(dú)立的基本類型緩沖器,或者使用”as”方法從ByteBuffer中獲得。
ByteBuffer中存放的是字節(jié)數(shù)組,如果要將它們轉(zhuǎn)換成字符串則需要使用 Charset,Charset是字符編碼,它提供了把字節(jié)流轉(zhuǎn)換成字符串 ( 解碼 ) 和將字符串轉(zhuǎn)換成字節(jié)流 ( 編碼) 的方法。
最近做的項目需要用到ByteBuffer進(jìn)行數(shù)據(jù)的傳輸,因此會用涉及到將ByteBuffer轉(zhuǎn)換為String的過程。
以下是實現(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方法會將緩沖區(qū)的當(dāng)前位置”重置”到緩沖區(qū)的開始處.這樣可以保證傳入的對像被其他方法使用時讀取的數(shù)據(jù)完整性.