首页 > 其他 > 详细

今天使用JDK1.8中的ByteBuffer 发现其中基本数据必须要是偶数个的

时间:2016-07-25 16:10:14      阅读:331      评论:0      收藏:0      [点我收藏+]

private static void symmertricScramble(CharBuffer cb) {
while (cb.hasRemaining()) {
cb.mark();
char c1 = cb.get();
char c2 = cb.get();
cb.reset();
cb.put(c2).put(c1);
}
}

public static void main(String[] args) throws Exception {
//如果这里是奇数个的数据就会抛出BufferUnderflowException
char[] chars = "UsingCharBuffer2".toCharArray();
ByteBuffer bb = ByteBuffer.allocate(chars.length * 2);
CharBuffer cb = bb.asCharBuffer();


cb.put(chars);
// System.out.println("pos:" + cb.position() + " limit:" + cb.limit() + " cap:" + cb.capacity() + " mark:" + cb.mark());
cb.flip();

symmertricScramble(cb);
System.out.println(cb.rewind());
}

今天使用JDK1.8中的ByteBuffer 发现其中基本数据必须要是偶数个的

原文:http://www.cnblogs.com/tianweijiang/p/5703646.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!