如何在java中检索USB闪存驱动器的制造商序列号?
我看这个
How to get manufacturer serial number of an USB flash drive?
但它对我没有帮助。
答案 0 :(得分:2)
我认为没有适用于此的纯Java解决方案适用于多个平台。
您可能需要求助于“抓取”外部命令的输出。 (或弄清楚他们在做什么,并在本机代码库中复制它......)
在Linux上:
在Windows上:
名为“usp64”和“USBDeview”的第三方命令执行此操作:请参阅http://ashfaqshinwary.wordpress.com/tag/how-to-find-usb-serial-number-from-windows/。
显然,您可以使用wmic
获取序列号,但您可能需要应用Microsoft修补程序才能使其正常运行:https://superuser.com/questions/600394/get-usb-key-manufacturer-serial-number
@FoggyDay发现了一些据称支持这一点的第三方库:
我认为,建议使用Files.getFileStore(path).getAttribute("volume:vsn")
的评论不正确。 Java源代码意味着返回由Windows分配的卷序列号,而不是制造商提供的序列号。相关代码为here。
答案 1 :(得分:0)
jUSB库允许您从usb.core.Configuration中读取此内容。
usb4java - 另一个较新的Java库 - 可能也支持相同的。