I have done a lot of research, and have come across many USB libraries - and many articles saying how they all suck. However, most of these were posted pre-2005, so I thought I would ask here.

I need a way for a Java program to communicate with some custom hardware. I realize Java isn't the best language for this, but it is the only language I know how to make good GUIs, and I don't have time to learn another. Are there any good free USB libraries out there, mainly for windows?

I have had good luck with the RXTX library on linux, but was a bit messy to deal with, and I had many workarounds.

Another option I have had huge success with is a C wrapper. The wrapper would simply read all of the data, and send it to the java program via socket. I have never tried outputting data. Does anyone see a disadvantage to this?