⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 e169. reading from a channel with a bytebuffer.txt

📁 这里面包含了一百多个JAVA源文件
💻 TXT
字号:
This example uses a ByteBuffer to read from a channel. The tricky part of this operation is to remember to properly set the buffer's position before and after a read. 
    try {
        // Obtain a channel
        ReadableByteChannel channel = new FileInputStream("infile").getChannel();
    
        // Create a direct ByteBuffer; see also e158 Creating a ByteBuffer
        ByteBuffer buf = ByteBuffer.allocateDirect(10);
    
        int numRead = 0;
        while (numRead >= 0) {
            // read() places read bytes at the buffer's position so the
            // position should always be properly set before calling read()
            // This method sets the position to 0
            buf.rewind();
    
            // Read bytes from the channel
            numRead = channel.read(buf);
    
            // The read() method also moves the position so in order to
            // read the new bytes, the buffer's position must be set back to 0
            buf.rewind();
    
            // Read bytes from ByteBuffer; see also
            // e159 Getting Bytes from a ByteBuffer
            for (int i=0; i<numRead; i++) {
                byte b = buf.get();
            }
        }
    } catch (Exception e) {
    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -