Java System load() 方法



描述

Java System load() 方法从本地文件系统加载指定文件名的代码文件作为动态链接库。文件名参数必须是完整的路径名。

声明

以下是java.lang.System.load() 方法的声明

public static void load(String filename)

参数

文件名 − 要加载的文件。

返回值

此方法不返回任何值。

异常

  • SecurityException − 如果存在安全管理器并且其 checkLink 方法不允许加载指定的动态链接库。

  • UnsatisfiedLinkError − 如果文件不存在。

  • NullPointerException − 如果文件名为空。

示例:加载加密 DLL

以下示例演示了 Java System load() 方法的使用。在这个程序中,我们使用 load() 方法传递 crypt32.dll 的完整路径来加载它,并打印相应的讯息。

package com.tutorialspoint;

public class SystemDemo {

   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...");
      System.load("C:/Windows/System32/crypt32.dll");
      System.out.println("Library Loaded.");
   }
}

输出

让我们编译并运行以上程序,这将产生以下结果:

Program starting...
Loading Library...
Library Loaded.

示例:加载 DLL 时发生异常

以下示例演示了 Java System load() 方法的使用。在这个程序中,我们使用 load() 方法传递一个不存在的 dll 的路径来加载它,并打印相应的异常讯息。

package com.tutorialspoint;

public class SystemDemo {

   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...");
      System.load("C:/Windows/System32/crypt.dll");
      System.out.println("Library Loaded.");
   }
}

输出

让我们编译并运行以上程序,这将产生以下结果:

Program starting...
Loading Library...
Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't load library: C:\Windows\System32\crypt.dll
	at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2422)
	at java.base/java.lang.Runtime.load0(Runtime.java:852)
	at java.base/java.lang.System.load(System.java:2025)
	at com.tutorialspoint.SystemDemo.main(SystemDemo.java:12)

示例:加载文件管理 DLL

以下示例演示了 Java System load() 方法的使用。在这个程序中,我们使用 load() 方法传递 filemgmt.dll 的完整路径来加载它,并打印相应的讯息。

package com.tutorialspoint;

public class SystemDemo {

   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...");
      System.load("C:/Windows/System32/filemgmt.dll");
      System.out.println("Library Loaded.");
   }
}

输出

让我们编译并运行以上程序,这将产生以下结果:

Program starting...
Loading Library...
Library Loaded.
java_lang_system.htm
广告
© . All rights reserved.