Java Runtime load() Method



Description

The Java Runtime load(String filename) method loads the specified filename as a dynamic library. The filename argument must be a complete path name, (for example Runtime.getRuntime().load(). First, if there is a security manager, its checkLink method is called with the filename as its argument. This may result in a security exception. This is similar to the method loadLibrary(String), but it accepts a general file name as an argument rather than just a library name, allowing any file of native code to be loaded. The method System.load(String) is the conventional and convenient means of invoking this method.

Declaration

Following is the declaration for java.lang.Runtime.load() method

public void load(String filename)

Parameters

filename − the file to load.

Return Value

This method does not return a value.

Exception

  • SecurityException − if a security manager exists and its checkLink method doesn't allow loading of the specified dynamic library

  • UnsatisfiedLinkError − if the file does not exist

  • NullPointerException − if filename is null

Example: Loading Cryptography DLL

The following example shows the usage of Java Runtime load() method. In this program, using load() method, we're passing complete path of crypt32.dll to load it and corresponding message is printed.

package com.tutorialspoint;

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

Output

Let us compile and run the above program, this will produce the following result −

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

Example: Exception while Loading a DLL

The following example shows the usage of Java Runtime load() method. In this program, using load() method, we're passing path of a non-existing dll to load it and corresponding exception message is printed.

package com.tutorialspoint;

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

Output

Let us compile and run the above program, this will produce the following result −

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.Runtime.load(Runtime.java:838)
	at com.tutorialspoint.RuntimeDemo.main(RuntimeDemo.java:12)

Example: Loading File Management DLL

The following example shows the usage of Java Runtime load() method. In this program, using load() method, we're passing complete path of filemgmt.dll to load it and corresponding message is printed.

package com.tutorialspoint;

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

Output

Let us compile and run the above program, this will produce the following result −

Program starting...
Loading Library...
Library Loaded.
java_lang_runtime.htm
Advertisements