java - 在 Java 中检测 USB 驱动器

标签 java

如何检测 USB 驱动器何时连接到 Windows、Linux 或 Mac 计算机?

我在网上看到的唯一方法是迭代驱动器,但我不认为有一个很好的方法可以跨平台(例如 Linux 中的 File.listRoots() 只返回“/”)。即使在 Windows 中,这也会导致从每个设备读取的问题,例如需要很长时间才能访问的网络驱动器。

有一个名为 jUsb 的库,听起来它在 Linux 中完成了这项工作,但它在 Windows 中不起作用。还有一个名为 jUsb for Windows 的扩展,但这需要用户安装 dll 文件并运行 .reg。这些似乎都没有开发好几年,所以我希望现在有更好的解决方案。当我只想检测是否连接了包含我需要的文件的设备时,它们对于我需要的东西来说也太过分了。

[编辑] 此外,jUsb 显然不适用于任何最新版本的 Java,所以这甚至不是一个选项...

谢谢

最佳答案

我制作了一个小型库来检测 Java 上的 USB 存储设备。它适用于 Windows、OSX 和 Linux。看看:https://github.com/samuelcampos/usbdrivedetector

关于java - 在 Java 中检测 USB 驱动器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3831825/

相关文章:

java - 传递字符串日期时出现不可解析的日期异常

Java SFTP 客户端 - 概念

java - 列表<?之间的区别扩展 MyClass> 和 List<MyClass>

java - GWT 2.6 : Compiler Report does not show Compiler Metrics?

java - 如何从我的操作 bean 调用 doPost()?

java - 刷新 RecyclerView 中的数据并保持其滚动位置将用户带到 Activity 的顶部

java - 如何在 Visual Studio Code 的 Debug模式下向 Java 代码提供用户输入

java - 将整数数组写入文件

java - 重写的 @PostConstruct 在 CDI View 范围 bean 上调用了两次(Weld、Seam 3)

java - 具有内部类的变量作用域