如何在JAVA 中调用windows API JAVA 以其跨平台的特性深受人们喜爱,而又正由于它的跨平台的目的,使得它和本地机器的各种内部联系变得很少,约束了它的功能
解决JAVA 对本地操作的一种方法就是JNI(JAVA NATIVE INTERFACE)
在Windows 平台上实现Java 本地方法 在Windows平台上创建本地方法共有如下所示的五个步骤: 1、写 Java 代码 2、译 Java 代码 3、创建C 头文件(
h 文件) 4、编写 C 代码并创建动态连接库(DLL ) 5、运行应用程序 编写 java 代码: 要在代码中使用本地方法,要额外增加两个部分
第一个部分:必须声明本地方法
声明方法与一般的函数声明一样,但必须指定native 关键字,如下所示 public native void mynativefunction(); 第二个部分:必须显式地加载本地代码库
为了加载本地代码库,必须在类的一个静态块中加载这个库
加载库和使用库的方法如下所示: class NativeExample{ static{ System
loadLibrary ("mynativelib"); } public static void main(String args[]){ mynativelib mylib=new mynativelib(); mylib
mynativefunction(); } … } 编译Java 代码 使用Java 编译工具(javac )编译*
java代码 创建 C 头文件(
h 文件) 为了将C 代码用作Java 的本地方法,必须使用特殊的函数声明,以便在C 代码编译的时候,能够为Java 所使用
Java 编译器的javah 工具将根据 Java代码生成相应的头文件(
h 文件),这些头文件必须在C 代码中包含