| Цитата(gelo86 @ 5.10.2009, 19:23) | | Цитата(can4ec @ 25.9.2009, 11:10) | | Код | ByteBuffer outBuffer = ByteBuffer.allocate(1000000); WritableByteChannel wbc = Channels.newChannel(System.out); for (int i = 0; i < "str".length(); i++) { outBuffer.putChar("str".charAt(i)); } outBuffer.rewind(); wbc.write(outBuffer);
|
А почему бы так не писать?
| Код | ByteBuffer outBuffer = ByteBuffer.wrap("str".getBytes()); WritableByteChannel wbc = Channels.newChannel(System.out); outBuffer.rewind(); wbc.write(outBuffer);
|
|
Можно и так, но почему неработает первое ? |
у меня работает на консоле все видно, может у вас эксептион а кач пустой ?
а более кошерно будет так
| Код | ByteBuffer outBuffer = ByteBuffer.allocate("str".length()); // памяти кажеться что много а на самом деле не очень WritableByteChannel wbc = Channels.newChannel(System.out); for (int i = 0; i < "str".length(); i++) outBuffer.put((byte) "str".charAt(i)); // именно байт, баффер то создан байтовый // мясо отдельно - молоко отдельно :blum3 outBuffer.flip(); wbc.write((ByteBuffer) outBuffer );
|
или если хотим работать с чарами то
| Код | CharBuffer charBuf =outBuffer.asCharBuffer(); или charBuf.append("str".charAt(i)); // а потом его как либо выводить на печать
|
|