Intelli IDEA java调用DLL库 | 您所在的位置:网站首页 › idea打开指定文件 › Intelli IDEA java调用DLL库 |
Intelli IDEA java调用DLL库
本文介绍如何使用java调用windows的dll库。 创建java工程![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 因为一开始总是报错找不到dll库,不知道问题出在哪。如果不知道加载路径,可使用该方法获取当前程序加载库的路径: System.out.println("当前dll加载路径:"+System.getProperty("java.library.path"));当前dll加载路径:E:\Project\IDEAWorkspace\Test\libs 小功能:判断当前系统及架构,可用在jar包中,判断加载so还是dll。 //系统 Windows 或者 Linux String osName = System.getProperties().getProperty("os.name").toLowerCase(); //架构 x86 或者 amd64 String osArch = System.getProperties().getProperty("os.arch").toLowerCase(); System.out.println("This OS is: " + osName + ";" + osArch); String fileName = null; if (osArch.indexOf("64") != -1) {//64位 if (osName.indexOf("win") != -1) { fileName = "test_64.dll"; } else { fileName = "test_64.so"; } System.out.println(System.getProperty("user.dir") + File.separator + fileName); } else if (osArch.indexOf("86") != -1) {//32位 if (osName.indexOf("win") != -1) { fileName = "test_32.dll"; } else { fileName = "test_32.so"; } System.out.println(System.getProperty("user.dir") + File.separator + fileName); } else {//不支持的 System.out.println("This OS is not support!"); }特别注意: 1.如果dll中引用了,其他dll,注意加载顺序,两个dll文件都需要添加到工程中,并使用System.loadLibrary()加载。 2.dll库使用Release版本64位的,要与jdk位数一致。 |
CopyRight 2018-2019 实验室设备网 版权所有 |