1
package org.herac.tuxguitar.player.impl.midiport.alsa;
4
import java.io.FileOutputStream;
5
import java.io.InputStream;
6
import java.io.OutputStream;
8
import org.herac.tuxguitar.util.TGClassLoader;
10
public class JNILibraryLoader {
12
private static final String JNI_EXTENSION = ".jnilib";
14
private static final String JNI_TMP_PATH = (System.getProperty( "java.io.tmpdir" ) + File.separator);
16
public static void loadLibrary(String libname){
17
if(!JNILibraryLoader.loadFromClassPath(libname + JNI_EXTENSION)){
18
System.loadLibrary(libname);
22
private static boolean loadFromClassPath(String filename){
23
File file = new File(JNI_TMP_PATH + filename);
26
InputStream inputStream = TGClassLoader.instance().getClassLoader().getResourceAsStream(filename);
27
if (inputStream != null) {
28
OutputStream outputStream = new FileOutputStream(file);
31
byte [] buffer = new byte [4096];
32
while ((read = inputStream.read (buffer)) != -1) {
33
outputStream.write(buffer, 0, read);
40
System.load(file.getAbsolutePath());
43
}catch(Throwable throwable){