使用Java访问USB,以便找到thumbdrive制造商的serial#/ unique-ID

寻找一种方法来读取USB拇指驱动器的唯一ID /序列号; 请注意
– 我正在寻找制造商的价值,而不是Windows为其分配的价值。
– 我需要支持多个操作系统(Windows,Unix,Mac),因此需要成为Java解决方案

我们的想法是能够区分不同的USB拇指驱动器。

RXTX是要走的路。 在模型火车世界中,JMRI(Java模型铁路接口)已经变得非常流行。 JMRI可在所有平台(Windows,Linux和Mac)上运行,并与各种基于USB的设备(命令站)进行通信。 事实上,RXMX被JMRI使用。

您可以查看以下项目: javax-usb和jusb 。 他们似乎支持Linux和Windows。

无论如何,由于Java中的USB访问需要使用本机库,因此可能无法实现所需的可移植性。

我从来没有尝试过使用它(它已经在我的待办事项清单上已有好几个月了),但是在java.net上有“marge”项目:

http://marge.java.net/

这应该让你连接到蓝牙设备(虽然我不认为它是100%function完整,那里有演示代码),然后ClientDevice类有一个“getBluetoothAddress”方法,我相信该设备应该是唯一的

http://marge.java.net/javadoc/v06/marge-core/net/java/dev/marge/entity/ClientDevice.html

正如我所说,我从未尝试过……

我从未对此进行彻底调查,但是从内存中可以看出,javax.comm软件包的RXTX库实现非常好,现在支持USB。