读书人

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

发布时间: 2012-09-02 21:00:34 作者: rapoo

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());

读书人网 >J2SE开发

热点推荐