标签:style http io ar color os sp java strong
Java Nio
A Java NIO Pipe is a one-way data connection between two threads. A Pipe
has a source channel and a sink channel. You write data to the sink channel. This data can then be read from the source channel.
Here is an illustration of the Pipe
principle:
Java NIO: Pipe Internals |
You open a Pipe
by calling the Pipe.open()
method. Here is how that looks:
Pipe pipe = Pipe.open();
To write to a Pipe
you need to access the sink channel. Here is how that is done:
Pipe.SinkChannel sinkChannel = pipe.sink();
You write to a SinkChannel
by calling it‘s write()
method, like this:
String newData = "New String to write to file..." + System.currentTimeMillis(); ByteBuffer buf = ByteBuffer.allocate(48); buf.clear(); buf.put(newData.getBytes()); buf.flip(); while(buf.hasRemaining()) { sinkChannel.write(buf); }
To read from a Pipe
you need to access the source channel. Here is how that is done:
Pipe.SourceChannel sourceChannel = pipe.source();
To read from the source channel you call its read()
method like this:
ByteBuffer buf = ByteBuffer.allocate(48); int bytesRead = inChannel.read(buf);
The int
returned by the read()
method tells how many bytes were read into the buffer.
标签:style http io ar color os sp java strong
原文地址:http://blog.csdn.net/opengl_es/article/details/41307739