directbuffer.java 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // Test to make sure JNI implementation catches exceptions.
  2. import java.nio.*;
  3. public class directbuffer
  4. {
  5. static
  6. {
  7. System.loadLibrary("directbuffer");
  8. }
  9. public static native ByteBuffer createDirectByteBuffer();
  10. public static native void testDirectByteBuffer(ByteBuffer bb, int len);
  11. public static native void testCharBuffer(CharBuffer b, int len);
  12. public static native void testDoubleBuffer(DoubleBuffer b, int len);
  13. public static native void testFloatBuffer(FloatBuffer b, int len);
  14. public static native void testIntBuffer(IntBuffer b, int len);
  15. public static native void testLongBuffer(LongBuffer b, int len);
  16. public static native void testShortBuffer(ShortBuffer b, int len);
  17. public static void main(String[] args)
  18. {
  19. ByteBuffer bb = createDirectByteBuffer();
  20. CharBuffer cb = bb.asCharBuffer();
  21. DoubleBuffer db = bb.asDoubleBuffer();
  22. FloatBuffer fb = bb.asFloatBuffer();
  23. IntBuffer ib = bb.asIntBuffer();
  24. LongBuffer lb = bb.asLongBuffer();
  25. ShortBuffer sb = bb.asShortBuffer();
  26. testDirectByteBuffer(bb, 1024);
  27. testCharBuffer(cb, 512);
  28. testDoubleBuffer(db, 128);
  29. testFloatBuffer(fb, 256);
  30. testIntBuffer(ib, 256);
  31. testLongBuffer(lb, 128);
  32. testShortBuffer(sb, 512);
  33. }
  34. }