1

任何用于Java中USB交互的API或库,我将用来编写的函数都不需要随着它们运行的​​平台的变化而改变?这样我的应用程序将在 Windows、Linux 和 Mac 上运行吗?

我的应用程序将完成的工作基本上是

  • 获取 USB 设备的名称
  • 能够在用户注销之前判断设备是否仍停靠在计算机上
  • 弹出 USB 设备 [好吧,不是从字面上看,那将是荒谬的],例如安全删除 Windows。
  • 实时检测 USB 设备上的已用空间和可用空间。

我在javax.usb - JSR080 项目上找到 但是在他们的页面上,说:

javax-usb-ri-windows : This is an ABANDONED Windows implementation. it does not work, it needs a kernel driver.

和 :The OS-independent Reference Implementation contains a common partial implementation of javax.usb

我只需要一个跨平台的 API 并且.. 只需阅读第一行。

我还尝试查看用于 C++ 的 libusb,以及它的 Python 包装器 PyUSB,[我喜欢 Python,必须检查一下]。但是客户端需要 Java 代码。

4

2 回答 2

0

看看JavaHIDAPI

这是一个跨平台的人机接口设备 (HID) 库,适用于 Windows、Mac 和 Linux。它为每个库提供了所有本地库,并在 Java 中具有易于使用的界面。文档有点稀疏,但它应该可以让您快速启动并运行。

于 2013-08-28T08:42:46.057 回答
0

JVM 没有对主机操作系统的那种控制。唯一的方法是使用足够的权限运行 shell 命令(每个平台不同),并解析结果(同样,每个平台)。这肯定涉及不同平台的不同代码。

于 2012-12-22T08:54:07.787 回答