ByteBuffer转String的方法

转载 2013年08月19日 12:10:42

ByteBuffer俗称缓冲器,是将数据移进移出通道的唯一方式,并且我们只能创建一个独立的基本类型缓冲器,或者使用”as”方法从ByteBuffer中获得。

ByteBuffer中存放的是字节数组,如果要将它们转换成字符串则需要使用 Charset,Charset是字符编码,它提供了把字节流转换成字符串 ( 解码 ) 和将字符串转换成字节流 ( 编码) 的方法。


HBase中读出的数据都是以ByteBuffer形式进行传输的,因此设计到ByteBuffer转换成String输出。

以下是实现该过程的方法:

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方法会将缓冲区的当前位置”重置”到缓冲区的开始处.这样可以保证传入的对像被其他方法使用时读取的数据完整性.

byte[]与String转换引起的protobuf反序列化抛异常问题

使用protobuf时,将string写入ssdb然后再读出来反序列化protobuf message的时候报错:com.google.protobuf.InvalidProtocolBufferEx...
  • qq_35440678
  • qq_35440678
  • 2017年03月23日 15:42
  • 4669

Java 字节数组与String的相互转换错误

遇到的问题:Byte[]数组转化为String,String再转化成Byte数组时,两个字节数组长度不一。 问题描述:今天我在学习Java实现的RSA加密算法的时候,将加密后的字节数组用String来...
  • qq_16166139
  • qq_16166139
  • 2016年06月26日 16:49
  • 1266

String和ByteBuffer互转

String 转换 ByteBuffer: private ByteBuffer convertStringToByte(String content) throws UnsupportedEnco...
  • u013761206
  • u013761206
  • 2017年12月15日 09:47
  • 178

ByteBuffer 转化为 String

1 public  String decode(ByteBuffer buffer)  2 {  3 ...
  • blacksource
  • blacksource
  • 2009年07月23日 10:56
  • 9813

byte数组转换成string

这几天都很郁闷,被byte数组转换成string搞的。 有一个小程序,需要把byte数组转换成string,然后写文件,再读文件,再把string转换回来,成为byte数组。可是,看上去很简单,...
  • jxdv1112
  • jxdv1112
  • 2013年09月06日 14:17
  • 770

【Android 】HttpURLConnection里byte转化string的错误笔记

从来没有像现在这一刻这么想要去写这篇错误笔记,因为这个困扰了我一下午的问题,网上各种查阅,各种实验,各种不行。 闲话不多说,这里进入正文。 在用HttpURLConnection于serlvet取得建...
  • f627422467
  • f627422467
  • 2015年08月13日 20:50
  • 452

java标准库中ByteBuffer转String的方法

www.uzzf.com/news/7935.html ByteBuffer俗称缓冲器,是将数据移进移出通道的唯一方式,并且我们只能创建一个独立的基本类型缓冲器,或者使用”as”方法从ByteB...
  • u011627789
  • u011627789
  • 2013年09月03日 09:45
  • 4332

String ByteBuffer转换

[java] view plaincopyprint? package com.wzs;      import java.nio.ByteBuffe...
  • a956959099
  • a956959099
  • 2014年04月16日 17:34
  • 434

java中byte[]、buffer、string转换

将原数组数据拷贝到目的数组 System.arraycopy(src, Srcposition, dst, DstPosition,dstLength); 将字节数组转换成字节缓冲区 Byt...
  • addisonjing
  • addisonjing
  • 2017年03月09日 19:31
  • 3119

Android InputStream与String,Byte之间互转

public class InputStreamUtils {              final static int BUFFER_SIZE = 4096;              /...
  • liliangchw
  • liliangchw
  • 2013年01月24日 14:59
  • 5994
收藏助手
不良信息举报
您举报文章:ByteBuffer转String的方法
举报原因:
原因补充:

(最多只允许输入30个字)