gpt4 book ai didi

java - 如何识别特定的 USB 端口

转载 作者:太空狗 更新时间:2023-10-29 12:16:05 24 4
gpt4 key购买 nike

我在一个必须对 USB 随身碟执行“测试”的项目中。为此,我使用 USB 集线器(49 端口 Asic Miner - 由于端口数量,我正在使用它)。

我打算在 HUB 上插入 49 个 USB 笔式驱动器,并使用 Linux Java 应用程序测试它们。测试包括“检查是否被识别”、“存储和删除数据”和“检查大小”。

我的问题出在第一步。如果有任何 Pen Drive 不能正常工作,系统会识别 48 个 Pen 驱动器,但我永远不会知 Prop 体哪个设备不能正常工作。

我的问题是:有没有办法知道 USB 集线器上特定 USB 端口的地址(或类似地址)?例如:如果我只在端口“34”上连接了一个 USB 笔式驱动器,我的软件就会知道该设备已连接到该特定端口。

非常感谢您的宝贵时间和帮助!

最佳答案

使用Runtime执行 Linux 命令 mount。它将列出当前手动或自动安装的所有设备,例如:

/dev/sdb5 on /media/xdrive type ext4 (rw,nosuid,nodev,uhelper=udisks)
/dev/sdj1 on /media/Website type vfat (rw,nosuid,nodev,uhelper=udisks,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,flush)

此处,第二行描述了我刚刚插入的 USB 内存棒(运行 Ubuntu)。从文件系统(vfat,上面的硬盘驱动器使用ext4)可以很容易地识别它,它挂载在/media/Website(因为'Website'是在vfat中格式化棒时使用的棒标签)。解析输出并找到安装的棒应该是微不足道的(格式化时,我建议给出与棒号匹配的已知标签)。

如果需要,您可以将更多信息直接放入棒上的小文件中。

您可以通过 Process.getOutputStream() 捕获输出。

完成后,您可以安全地卸下木棍,然后再将它们拉出:

umount /media/Website

关于java - 如何识别特定的 USB 端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24148151/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com