这里面包含了一百多个JAVA源文件

源代码在线查看: e184. creating a stream on a bytebuffer.txt

软件大小: 551 K
上传用户: maple_78
关键词: JAVA
下载地址: 免注册下载 普通下载 VIP

相关代码

				This example implements methods for creating an input or output stream on a ByteBuffer. 
				    // Obtain a ByteBuffer; see e158 Creating a ByteBuffer.
				    ByteBuffer buf = ByteBuffer.allocate(10);
				    
				    // Create an output stream on the ByteBuffer
				    OutputStream os = newOutputStream(buf);
				    
				    // Create an input stream on the ByteBuffer
				    InputStream is = newInputStream(buf);
				    
				    // Returns an output stream for a ByteBuffer.
				    // The write() methods use the relative ByteBuffer put() methods.
				    public static OutputStream newOutputStream(final ByteBuffer buf) {
				        return new OutputStream() {
				            public synchronized void write(int b) throws IOException {
				                buf.put((byte)b);
				            }
				    
				            public synchronized void write(byte[] bytes, int off, int len) throws IOException {
				                buf.put(bytes, off, len);
				            }
				        };
				    }
				    
				    // Returns an input stream for a ByteBuffer.
				    // The read() methods use the relative ByteBuffer get() methods.
				    public static InputStream newInputStream(final ByteBuffer buf) {
				        return new InputStream() {
				            public synchronized int read() throws IOException {
				                if (!buf.hasRemaining()) {
				                    return -1;
				                }
				                return buf.get();
				            }
				    
				            public synchronized int read(byte[] bytes, int off, int len) throws IOException {
				                // Read only what's left
				                len = Math.min(len, buf.remaining());
				                buf.get(bytes, off, len);
				                return len;
				            }
				        };
				    }
				
							

相关资源