Click here to Skip to main content
15,884,974 members
Articles / Programming Languages / Java / Java SE

Java Native Interface Auto Loader for JAR Deployment

Rate me:
Please Sign up or sign in to vote.
3.50/5 (2 votes)
16 May 2008GPL3 19.6K   9  
In this tutorial, I will try to explain how to use JNI auto loader for JAR file.

Introduction

The Java Native Interface Auto Loader is a convenience solution for loading JNI dynamic link library from JAR file.

Using the Code

ExtractFromJar is a method which can auto extract the resource as a JNI library. After executing the autoloader, you can enjoy the JNI library.

Java
try{
    ExtractFromJar("test.dll");
}catch(IOException e) {}
         
System.load(System.getProperty("java.io.tmpdir") + "/test.dll");

The ExtractFromJar Method

Java
public void ExtractFromJar(String name) 
throws IOException {
    File directory = new File(System.getProperty("java.io.tmpdir"));
    if(!directory.exists())
        directory.mkdirs();
    File libFile = new File(directory, name);
    if(libFile.exists())
        libFile.delete();
    InputStream in = getClass().getResourceAsStream("/" + name);
    BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(libFile));
    byte buffer[] = new byte[1024];
    int len;
    for(int sum = 0; (len = in.read(buffer)) > 0; sum += len)
        out.write(buffer, 0, len);
    in.close();
    out.close();
}

History

  • 17th May, 2008: Initial post

License

This article, along with any associated source code and files, is licensed under The GNU General Public License (GPLv3)


Written By
Other
Hong Kong Hong Kong
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
-- There are no messages in this forum --