質問

USBポートにアクセスするJavaアプリケーションを作成して、USBを介して接続されたデバイスを読み取り、書き込みます。私が直面する問題は、そのようなことをするためにJavaで何を使用するかわからないということです。私はオンラインで検索して、呼ばれるものを見つけました JUSB しかし、すべての投稿はかなり古いようです。

現在、私は使用しています RXTX ライブラリですが、私は時々いくつかの同期エラーに遭遇します。 C#を使用して同等のものを実行すると、コードがはるかに少なくなり、同じ同期エラーに直面しません。

私の質問は、 USBポートにアクセスするために使用できるJREの最新バージョンに組み込まれたものはありますか (それは同等のC#コードと同じくらい簡単です)?

役に立ちましたか?

解決

JavaのC#のUSBサポートに相当するものはありません。 JusbとJava-USBはどちらも著しく時代遅れであり、深刻なアプリケーション開発のために使用できない可能性があります。

クロスプラットフォームUSBアプリケーションを実装したい場合は、本当に最善の策が抽象を書くことです Jni Linux、Mac、およびWindowsネイティブライブラリに話しかけるインターフェイスは、自分自身を書かなければならないものです。私は見ます libusb MacとLinuxを処理します。ご覧のとおり、Windowsは非常に簡単です。私はちょうどこれを行った1年間のプロジェクトから外れましたが、残念ながらこれは唯一の深刻なクロスプラットフォームソリューションです。 Windowsに実装する必要がなく、ニーズが限られている場合は、古いJava Libs(JusbまたはJava-USB)の1つを使用することができます。 win32/win64に展開する必要があるものはすべて、ネイティブコンポーネントが必要です。

他のヒント

Cross Platfom(LinuxとWindows)でUSB4Javaを1年間使用していますが、うまく機能します。

見る:

http://usb4java.org/

彼らは非常に活発で、非常に優れたJavax USBフロントを持っています。

USB4Javaをご覧ください - http://usb4java.org/index.html Windows、Linux、Mac OSをサポートしているように見え、投稿時に合理的に最新のように見えます。残念ながらLGPLの下にあるため、商業開発には適していない場合があります。

を参照してください jusb また USB4Java ライブラリ。

Java Communications API. 。これは、C#と同様の機能を提供するはずです System.io.ports 名前空間。

MACを使用している場合、USBに / volumes /ディレクトリでアクセスできます。

例:

「ドライブ」のファイルに書き込みたいので、Filepathは次のとおりです。

/Volumes/Drive/file.whatever

それが他のプラットフォームでどのように達成されているかはわかりませんが、これは私がMacで見つけた最も簡単な方法です

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top