首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

java.nio包中一个关于字节缓冲区的有关问题

2012-09-02 
java.nio包中一个关于字节缓冲区的问题最近学习java.nio包中的字节缓冲区 随便写了一个简单的代码import j

java.nio包中一个关于字节缓冲区的问题
最近学习java.nio包中的字节缓冲区 随便写了一个简单的代码 

import java.nio.*;

public class BufferTest 
{

  public static void main(String args[])
  {
   
  CharBuffer buffer=CharBuffer.allocate(32);
   
  String str="helloworld";
  char echo[]=str.toCharArray();
  buffer.wrap(echo);
   
  System.out.println(buffer.toString());
   
   
  }
   
   
}
程序为什么输出的是 框框?? 想把字符缓冲区中的数据一个一个输出 应该怎么做??

[解决办法]
buffer.wrap(echo);
wrap()为static方法,使用时应类名加上方法名CharBuffer.wrap(cheo),由于返回CharBuffer
代码应该修改为:buffer = CharBuffer.wrap(echo);
[解决办法]
因为buffer中没有内容,而在初始化的时候指定了buffer的长度为32,所以输出了32个空格。

CharBuffer buffer=CharBuffer.allocate(32); //去掉
String str="helloworld";
char echo[]=str.toCharArray();
buffer.wrap(echo); //wrap()静态方法-> CharBuffer buffer = CharBuffer.wrap(echo);
System.out.println(buffer.toString());

[解决办法]
CharBuffer charBuffer = CharBuffer.allocate(23);
charBuffer.put("sa".toCharArray());
charBuffer.put("sa".toCharArray());
System.out.println(charBuffer.array());

热点排行