public static void loadFromJar(String fileName) throws UnsatisfiedLinkError {
try {
if (fileName == null) {
return;
}
File tempDir = new File(System.getProperty("user.dir"));
File dllFile = new File(tempDir, fileName);
InputStream ins = fileCopy.class
.getResourceAsStream((new StringBuilder()).append("/")
.append(fileName).toString());
if (ins != null) {
BufferedOutputStream out = new BufferedOutputStream(
new FileOutputStream(dllFile));
byte[] buffer = new byte[512];
long start = System.currentTimeMillis();
do {
int readed = ins.read(buffer);
if (readed <= -1)
break;
out.write(buffer, 0, readed);
} while (true);
ins.close();
out.flush();
out.close();
System.loadLibrary("NfcHfReader");
long end = System.currentTimeMillis();
System.out.println("DLL加载成功-耗时:" + (end - start) + "毫秒");
} else {
System.out.println("没找到DLL文件");
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
try {
if (fileName == null) {
return;
}
File tempDir = new File(System.getProperty("user.dir"));
File dllFile = new File(tempDir, fileName);
InputStream ins = fileCopy.class
.getResourceAsStream((new StringBuilder()).append("/")
.append(fileName).toString());
if (ins != null) {
BufferedOutputStream out = new BufferedOutputStream(
new FileOutputStream(dllFile));
byte[] buffer = new byte[512];
long start = System.currentTimeMillis();
do {
int readed = ins.read(buffer);
if (readed <= -1)
break;
out.write(buffer, 0, readed);
} while (true);
ins.close();
out.flush();
out.close();
System.loadLibrary("NfcHfReader");
long end = System.currentTimeMillis();
System.out.println("DLL加载成功-耗时:" + (end - start) + "毫秒");
} else {
System.out.println("没找到DLL文件");
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}