skycqd 2017-08-07 05:50 采纳率: 0%
浏览 1473

java ByteBuffer clear()问题,下面这段代码为什么会死循环

public static void main(String[] args) throws IOException,
ClassNotFoundException, InstantiationException, IllegalAccessException {
File f=new File("D:/1.txt");
FileChannel chanel=new RandomAccessFile(f,"rw").getChannel();
MappedByteBuffer map=chanel.map(FileChannel.MapMode.READ_ONLY,0,f.length() );
java.nio.ByteBuffer buffer=java.nio.ByteBuffer.allocate(256);
Charset charset=Charset.forName("utf-8");
CharsetDecoder decorder=charset.newDecoder();

    while((chanel.read(buffer))!=-1){

        buffer.flip();
        CharBuffer cb=charset.decode(buffer);
        System.out.println(cb);
        //buffer.clear();

    }

}
  • 写回答

1条回答 默认 最新

  • 呓语的风 2017-08-07 06:27
    关注

    可以看一看这个文档
    https://my.oschina.net/talenttan/blog/889887
    希望对你有帮助

    评论

报告相同问题?