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.