好像JNI可以做的:
实例:   public class MyNative
   {
   static
   {
  System.loadLibrary( "MyNative" );            
}
     public native static void HelloWord(); 
   public native static String cToJava();
     }说明:  1)在JAVA程序中,首先需要在类中声明所调用的库名称System.loadLibrary( String libname );,在库的搜寻路径中定位这个库。定位库的具体操作依赖于操作系统。在windows下,首先从当前目录查找,然后再搜寻”PATH”环境变量列出的目录。如果找不到该库,则会抛出UnsatisfiedLinkError。
    2)这里加载的是JNI生成的DLL,而不是其他生成的DLL的名称。 在这里,库的扩展名字可以不用写出来,究竟是DLL还是SO,由系统自己判断。
    3) 还需要对将要调用的方法做本地声明,关键字为native。并且只需要声明,而不需要具体实现。 实现放在C中实现,稍后将做说明。
  4)如果加了static,表明是静态方法。如果不加,表明是一般的方法。加与不加,生成的头文件中有一个参数不同。稍后将做说明。   现在开始编译它:
  用javac MyNative.h编译它,生成对应的class文件。
  用javah MyNative ,就会生成对应的MyNative.h头文件。剩下的是就开始交给VC来完成了(我们用VC来实现对应的C实现部分)。