Set the limit for ByteBuffer
import java.nio.ByteBuffer; public class Main { public static void main(String[] argv) throws Exception { ByteBuffer buf = ByteBuffer.allocateDirect(10); buf.limit(7); // remaining=1 } }