【问题标题】:USB flash drive manufacturer serial numberUSB闪存驱动器制造商序列号
【发布时间】:2014-08-16 23:51:16
【问题描述】:

如何在java中检索USB闪存驱动器的制造商序列号?

我看看这个

How to get manufacturer serial number of an USB flash drive?

但这对我没有帮助。

【问题讨论】:

  • 在 Windows 中,您可以使用Files.getFileStore(path).getAttribute("volume:vsn")。我不知道有什么方法可以在其他操作系统中获取它。

标签: java serial-number usb-flash-drive


【解决方案1】:

我认为没有适用于多个平台的纯 Java 解决方案。

您可能需要求助于“抓取”外部命令的输出。 (或者弄清楚他们在做什么,并将其复制到本机代码库中......)

在 Linux 上:

  • “lsusb”命令的输出包括序列号。 (检查手动输入。)

在 Windows 上:


@FoggyDay 找到了几个据称支持此功能的 3rd 方库:

  • jUSB 显然只适用于 GNU/Linux。

  • usb4java 支持更广泛的平台。

  • 两者都依赖于平台特定的原生库。


我认为建议使用Files.getFileStore(path).getAttribute("volume:vsn") 的评论是不正确的。 Java 源代码意味着返回的是由 Windows 分配的卷序列号,而不是制造商提供的序列号。相关代码为here

【讨论】:

    【解决方案2】:

    jUSB 库允许您从 usb.core.Configuration 读取此内容。

    usb4java - 另一个更新的 Java 库 - 可能也支持相同的。

    【讨论】:

    • 根据文档,jUSB 需要 GNU/Linux。 usb4java 库需要本地“libusb”库的一个端口,该库显然可用于一系列平台。
    猜你喜欢
    • 2011-05-16
    • 1970-01-01
    • 1970-01-01
    • 2018-10-09
    • 2023-03-02
    • 1970-01-01
    • 2011-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多