从Java确定x86或x64系统

map*_*aft 3 java dll 64-bit x86

可能重复:
如何检测安装了哪种JRE - 32位与64位
如何判断我是在64位JVM还是32位JVM中运行?

我有一个签名的Java小程序,利用已安装的第三方DLL在我的Java应用程序中使用卡扫描程序组件.在64位计算机上,有一些库旨在用于64位体系结构,因为这些库的原始版本仅在x86上运行.

问题是它们的名称不同......

library.dll

在x64上我应该使用...

library64.dll

我必须调用loadLibrary在我的applet中按名称加载适当的库,但要加载我需要预先确定系统架构的正确库.我知道我可以捕获一个UnsatisfiedLinkError,但这真的很难看,我想尽可能避免这种情况.我也无法假设库的安装位置.

任何想法如何从Java应用程序中解决这个问题?

Asi*_*sif 7

您可以使用SystemProperties获取信息.

System.getProperty("os.arch"); //Operating system architecture
Run Code Online (Sandbox Code Playgroud)