32

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

現在、RXTXライブラリを使用していますが、同期エラーが発生することがあります。C#を使用して同等の処理を行うと、必要なコードがはるかに少なくなり、同じ同期エラーに直面することはありません。

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

4

6 に答える 6

27

クロスプラットフォーム(LinuxおよびWindows)で1年間usb4javaを使用しており、うまく機能します。

見る:

http://usb4java.org/

それらは非常にアクティブで、非常に優れたjavaxUSBフロントを備えています。

于 2014-09-19T02:34:51.043 に答える
14

JavaでのC#のUSBサポートに相当するものはありません。jUSBとJava-USBはどちらも非常に古く、深刻なアプリケーション開発には使用できない可能性があります。

クロスプラットフォームのUSBアプリケーションを実装する場合、実際の最善の策は、自分で作成する必要のあるLinux、Mac、およびWindowsのネイティブライブラリと通信する抽象的なJNIインターフェイスを作成することです。MacとLinuxを処理するためにLibUSBを検討します。ご覧のとおり、Windowsは非常に単純です。私はちょうどこれを行った1年間のプロジェクトを終えたばかりですが、残念ながら、これが唯一の本格的なクロスプラットフォームソリューションです。Windowsに実装する必要がなく、ニーズが限られている場合は、古いJavaライブラリ(jUSBまたはJava-USB)のいずれかを使用できます。Win32 / Win64にデプロイする必要があるものはすべて、ネイティブコンポーネントが必要になります。

于 2010-01-23T00:53:28.193 に答える
7

jUSBまたはusb4javaライブラリを参照してください。

于 2010-01-23T00:41:35.507 に答える
7

usb4javaをご覧になることをお勧めします-http://usb4java.org/index.htmlWindows、Linux、Mac OSをサポートしているようで投稿時点ではかなり最新のようです。残念ながらLGPLの下にあるため、商業開発には適さない可能性があります。

于 2013-12-16T11:05:17.780 に答える
2

JavaCommunicationsAPI。_ これにより、C#System.IO.Ports名前空間と同様の機能が提供されます。

于 2010-01-23T00:38:55.103 に答える
-2

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

例:

「ドライブ」内のファイルに書き込みたいので、ファイルパスは次のようになります。

/Volumes/Drive/file.whatever

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

于 2018-07-02T23:47:58.340 に答える