如何使用Java通过USB端口与设备通信?

我刚刚学习Java并尝试通过USB端口连接与设备通信。 我已经使用C#和OpenNETCF,它允许我通过USB端口在设备上发送文件和检索文件; 我怎样才能用java实现这个目标?

我看看stackoverflow线程, 如何在Windows和Java下与USB设备通信? ,christoffer的评论是破解本机代码,但我并不完全是他提到的本机代码api。 RAPI,也许吧?

我能找到的唯一适用于Windows的USB API 就在这里 。 似乎它的function有限,但它可能适合您的需求。 还提供了更完整的UNIX API 。

ETA :找到了官方Java USB实现的链接,但看起来Windows版仍然是alpha版。

我提到的本机代码API是Windows DDK,即驱动程序开发工具包。 现代版本似乎被称为Windows驱动程序工具包,因此google for Windows WDK :)应该有一些关于如何与USB设备通信的C示例,并且编写JNI包装器应该非常简单。

快速思考,您可以使用Java Native Interface JNI。 我自己从来没用过它。

我找到了这个页面,解释了如何在微控制器和Java应用程序之间进行通信: http : //javausbapi.blogspot.com/

我发现与USB通信的最佳方式是通过RxTx库。

您可以在这里找到一个使用示例: http : //www.snip2code.com/Snippet/1044/Java–read-from-USB-using-RXTX-library