java.lang.Runtime.loadLibrary(String filename)方法實例
java.lang.Runtime.loadLibrary(String filename) 方法加載動態庫與指定的庫名。一個包含本地代碼文件從本地文件系統加載的庫文件通常被那裏得到的地方。這個過程的細節是依賴於實現。從庫名到特定文件名的映射在系統特定的方式進行。
首先,如果有安全管理器,checkLink方法調用LibFile作爲它的參數。這可能導致一個安全性異常。方法System.loadLibrary(String)是調用此方法的常規的和方便的手段。如果本機方法在類的實現中使用,一個標準的策略是把本機代碼庫中的文件(稱之爲LibFile),然後把一個靜態初始化:
static { System.loadLibrary("LibFile"); }
類的聲明。當類加載和初始化,必要將本機代碼執行方法將被加載爲好。如果這種方法被稱爲一次以上具有相同庫名稱,在第二和後續調用將被忽略。
聲明
以下是java.lang.Runtime.loadLibrary()方法的聲明
public void loadLibrary(String libname)
參數
- libname -- the name of the library.
返回值
這個方法沒有返回值。
異常
SecurityException -- 如果安全管理器存在並且其checkLink方法不允許加載指定的動態庫
UnsatisfiedLinkError -- 如果library不存在
NullPointerException -- 如果libname爲null
例子
下面的例子顯示lang.Runtime.loadLibrary()方法的使用。
package com.yiibai; public class RuntimeDemo { public static void main(String[] args) { // print when the program starts System.out.println("Program starting..."); // load a library that is Windows/System32 folder System.out.println("Loading Library..."); Runtime.getRuntime().loadLibrary("C:/Windows/System32/crypt32.dll"); System.out.println("Library Loaded."); } }
讓我們來編譯和運行上面的程序,這將產生以下結果:
Program starting... Loading Library... Library Loaded.