Java平台提供了JNI(Java Native Interface)方便调用Java的本地方法,很多底层的细节,包括你想自己设计底层的操作方式或者都是通过C或者C++语言来实现的或者你想用其它语言实现部分操作,比如在某些效率要求高的情况下。首先将写好的C或者C++程序封装成DLL文件(windows平台下),然后在Java程序中类似于引入包一样进行加载,然后就可以使用本地方法了。调用自己编写的DLL文件方法如下:
一,需要在类(本例为FileDownloader.java)中声明本地方法,不需要实现。必须加上native关键字。
private native int open(String path, int mode);
private native boolean close(int peer);
二,需要在程序中加载DLL文件,文件名即可。
try{
System.loadLibrary("FileDownloadDll");//加载动态库
}catch(Exception e){
e.printStackTrace();
}
三,必须将生成的DLL文件放入JDK安装目录的bin文件夹下,不然会产生异常。
四,程序中调用本地方法。
fileDownload.open(filepath,"r");