2012-08-01 4 views

답변

3

asCharBuffer는 char[]은 그래서 당신은 당신이 뭘 하려는지 표시의 array()

얻을 수없는 포장하지 않습니다.

System.out.println(Arrays.toString("test\n".toCharArray())); 
+0

같은 (반드시 그것이 텍스트 파일에 대해 알고)과의 ByteBuffer에서 CharBuffer를가하고자합니다. 내가 할 수 없다면 그 방법을 사용하는 이유는 무엇입니까? 그리고 두 번째로 올바른 방법으로 질문을 던집니다. 고맙습니다. – user1568898

+0

'char []'의 래퍼 인 CharBuffer를 만들 때'array()'를 사용하여 버퍼를 만든 원래의 배열을 얻을 수 있습니다. –

+0

http://stackoverflow.com/questions/5936275/fast-bytebuffer-to-charbuffer-or-char와 같은 것? –

2

CharBuffer.array()에 대한 Javadoc을 읽었습니까?

모두 CharBufferchar[]에 의해 뒷받침됩니다. ByteBuffer.asCharBuffer()ByteBuffer의보기가 CharBuffer이므로 을 반환하므로 결과는 byte[]입니다.

array()은 실제로 버퍼를 백업하는 char[]만을 반환하며,없는 경우 UOE를 발생시킵니다. 당신이 얻을 수있을 것이다 가장 가까운 대안은 사실 내가의 ByteBuffer로되는 FileChannel을 읽고 있어요

char[] result = new char[charBuf.remaining()]; 
charBuf.get(result); 
관련 문제