KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm playing around with the NIO library. I'm attempting to listen for a connection on port 8888 and once a connection is accepted, dump everything from that channel to somefile . I know how to do it with ByteBuffers , but I'd like to get it working with the allegedly super efficient FileChannel.transferFrom . This is what I got: ServerSocketChannel ssChannel = ServerSocketChannel.open(); ssChannel.socket().bind(new InetSocketAddress(8888)); SocketChannel sChannel = ssChannel.accept(); FileChannel out = new FileOutputStream("somefile").getChannel(); while (... sChannel has not reached the end of the stream ...) <-- what to put here? out.transferFrom(sChannel, out.position(), BUF_SIZE); out.close(); So, my question is: How do I express " transferFrom some channel until end-of-stream is reached" ? Edit: Changed 1024 to BUF_SIZE, since the size of the buffer used, is irrelevant for the question.
Tags (comma-separated)
Save Edits
Cancel