用于与Java中的USB设备交互的跨平台库

时间:2012-12-22 08:46:01

标签: java usb cross-platform

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

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

  • 获取USB设备的名称
  • 能够在用户注销之前判断设备是否仍然停靠在计算机上
  • 像安全删除Windows一样弹出USB设备[好吧,不是物理上的,这是荒谬的]。
  • 实时检测usb设备上耗尽的空间量和空间量。

我在javax.usb - JSR080 project找到了 但在他们的页面上,说:

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,并且......只需阅读第一行。

我也试过用libusb查看C ++,它的Python包装器PyUSB,[我喜欢Python,必须检查]。但客户端需要Java代码。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

查看JavaHIDAPI

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